)]}'
{
  "log": [
    {
      "commit": "9164fbec9308a85689dabd58bae40e1a77252229",
      "tree": "7ddf35c3665c02ac032a59985c342195744edd6c",
      "parents": [
        "2f040befbd02291e4e1e79574baf2fbe804cd0cd",
        "d5444c9eb60e9cde936c9533a066910acc58eb49"
      ],
      "author": {
        "name": "Varun Anand",
        "email": "vaanand@google.com",
        "time": "Fri Feb 15 04:11:55 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Feb 15 04:11:55 2019 -0800"
      },
      "message": "Merge \"Update VPN capabilities when its underlying network set is null.\" am: e3ae238f4a am: d6d593572e\nam: d5444c9eb6\n\nChange-Id: I6dd5a369f1a3b74bbf498051ef1e4d1b31bd8e5e\n"
    },
    {
      "commit": "e3ae238f4a7f0acb52b2e6fe05e7b06c513e98a1",
      "tree": "320860f017191ab291a7795cf8f47b6e98f53f54",
      "parents": [
        "762f9f0c2449ce8f12c87de0eb6bcd32b6548029",
        "4fa80e8a2f03557221e0371a987e780df7788faa"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Feb 15 11:33:27 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 15 11:33:27 2019 +0000"
      },
      "message": "Merge \"Update VPN capabilities when its underlying network set is null.\""
    },
    {
      "commit": "762f9f0c2449ce8f12c87de0eb6bcd32b6548029",
      "tree": "a7801032d81e9e30fbe6ab77311afa085a582e24",
      "parents": [
        "d989ed753d3a46c017f3729aa466939b2945ddcc",
        "5db454c28d3ddf724be3f6a697267f7f58d94e2d"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri Feb 15 10:52:03 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 15 10:52:03 2019 +0000"
      },
      "message": "Merge \"Move NetworkStack to services.net\""
    },
    {
      "commit": "584b1378a808ce9ebb7fc33ac25cfa8a9b2adaf1",
      "tree": "a3f637776e22496482dd5a3e7bc210e3febf153e",
      "parents": [
        "b80f38179bd34c2bcb0c66e3af02cc68919172e8",
        "310da6f0e8cbe782aaba722023b55fc214abac06"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri Feb 15 07:25:09 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 15 07:25:09 2019 +0000"
      },
      "message": "Merge \"Move NetworkStack to services.net\""
    },
    {
      "commit": "5db454c28d3ddf724be3f6a697267f7f58d94e2d",
      "tree": "d1ca0b863c669aa3db022ad222aab607bc0801de",
      "parents": [
        "cfff01e2dbece7fd6a45f0352c4ab292cf59b89e"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Thu Feb 14 18:04:20 2019 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri Feb 15 12:20:17 2019 +0900"
      },
      "message": "Move NetworkStack to services.net\n\nNetworkStack is only used in services.net or clients of services.net. It\ncannot stay in framework.jar because it needs to depend on AIDL\ninterfaces, which would conflict with app implementations if they were\nin framework.jar.\n\nTest: atest FrameworksNetTests NetworkStackTests\nBug: 124033493\nChange-Id: Ib1d08a3669983640119d008db7e2990fa798724f\nMerged-In: I501b125a388c1100c2182bde4670944c2f0d7a02\n"
    },
    {
      "commit": "4fa80e8a2f03557221e0371a987e780df7788faa",
      "tree": "c684603dfe30c0d8114bd76b3c4dd3ea995170a9",
      "parents": [
        "bbbeba3c02822e5cd43fd169e7105063a7331af5"
      ],
      "author": {
        "name": "Varun Anand",
        "email": "vaanand@google.com",
        "time": "Wed Feb 06 10:13:38 2019 -0800"
      },
      "committer": {
        "name": "Varun Anand",
        "email": "vaanand@google.com",
        "time": "Thu Feb 14 18:50:56 2019 -0800"
      },
      "message": "Update VPN capabilities when its underlying network set is null.\n\nPreviously, they were only updated when underlying network set was\nnon-null.\n\nThis change also ensures that all the calls b/w ConnectivityService and\nVpn that leads to updating capabilities are on ConnectivityService\nhandler thread.\n\nAdditionally, it also ensures that capabilities are propagated after VPN\nenters connected state. This was previously done from establish which\ncould potentially lead to race between VPN getting connected and\ncapabilities getting updated.\n\nThis change also updates VPN capabilities inline from\nConnectivityService handler thread. Previously, there was an additional\nloop where Vpn would update capabilities via NetworkAgent thru\nAsyncChannel which posts back to CS handler thread, which could\npotentially lead to delays in updating VPN capabilities.\n\nBug: 119129310\nBug: 118856062\nBug: 124268198\nTest: atest FrameworksNetTests\nTest: manual - verified VPNs capabilities are getting updated and\nDownloadManager is working correctly.\n\nChange-Id: Id0abc4d304bb096e92479a118168690ccce634ed\n"
    },
    {
      "commit": "310da6f0e8cbe782aaba722023b55fc214abac06",
      "tree": "82c83b86a821bbfc123d4406824ce73e67e894ec",
      "parents": [
        "5a1b74b6d58ddf05e4450da6c2bd2e5d340d0a0d"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Thu Feb 14 18:04:20 2019 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Thu Feb 14 20:43:43 2019 +0900"
      },
      "message": "Move NetworkStack to services.net\n\nNetworkStack is only used in services.net or clients of services.net. It\ncannot stay in framework.jar because it needs to depend on AIDL\ninterfaces, which would conflict with app implementations if they were\nin framework.jar.\n\n(cherry-pick of aosp/905233 with trivial conflicts in SystemServer.java)\n\nTest: atest FrameworksNetTests NetworkStackTests\nBug: 124033493\nChange-Id: I501b125a388c1100c2182bde4670944c2f0d7a02\n"
    },
    {
      "commit": "d085587d7c54e63952055ec2daf7070c8c8f758f",
      "tree": "52ff0a4319f6bd3143687dd14f892afcf57788f7",
      "parents": [
        "1d03680645b71f8ad5522a54dbe9e03e0c04202a",
        "0ed6920494bbee3ec2e72eabf79826e9c7d2f7ec"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Wed Feb 13 21:45:39 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Feb 13 21:45:39 2019 -0800"
      },
      "message": "Merge \"Fix flaky testNattSocketKeepalives\" am: 16758070d0 am: def37aef89\nam: 0ed6920494\n\nChange-Id: Ibfdd4dddb8dad9ee26f9f1ec175ca87bc46ce761\n"
    },
    {
      "commit": "16758070d06ce097cb39ad751a10953b7159561d",
      "tree": "6c189c261781c42403b93550191a9542c08bb590",
      "parents": [
        "6cc4c0c02926c0adadbe04af22076d737e3bfab8",
        "ac02bc8141b12212ef0a4ad56cf4a67e63ad8a49"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Thu Feb 14 03:29:00 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 14 03:29:00 2019 +0000"
      },
      "message": "Merge \"Fix flaky testNattSocketKeepalives\""
    },
    {
      "commit": "ac02bc8141b12212ef0a4ad56cf4a67e63ad8a49",
      "tree": "9147b694acfa6c4fb22be1c6fe601bbc5c40f45e",
      "parents": [
        "f46b14b6aff8293a8881d97f6fee089ae86c0955"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri Feb 08 17:10:50 2019 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Thu Feb 14 03:28:48 2019 +0000"
      },
      "message": "Fix flaky testNattSocketKeepalives\n\nThe test did not wait for the WifiNetworkAgent to disconnect, and there\nare reports of flakes where it is still connected in\nconnectKeepaliveNetwork.\n\nTest: atest FrameworksNetTests\nBug: 124319553\nChange-Id: I85968806885c8853ec4f4dbea356366c1af0ea1c\n"
    },
    {
      "commit": "8fee3dee71a3dbc193936691606b9635ddb270ed",
      "tree": "bb7c9993d08eeeaca9143c44683015d6469fc864",
      "parents": [
        "661bb0414e635122117b1d554f59b9464ad90a6d",
        "0b5950781d33ac12212d0043f97e6ac5f27881dd"
      ],
      "author": {
        "name": "Mark Chien",
        "email": "markchien@google.com",
        "time": "Wed Feb 13 02:29:01 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 13 02:29:01 2019 +0000"
      },
      "message": "Merge \"Support multi-SIM entitlement check\""
    },
    {
      "commit": "0b5950781d33ac12212d0043f97e6ac5f27881dd",
      "tree": "64eea1e10b08e1b33f845110f02bc642143f8e95",
      "parents": [
        "0beb397fa5e1887ef354c3b0bc22a8deadae944b"
      ],
      "author": {
        "name": "markchien",
        "email": "markchien@google.com",
        "time": "Tue Jan 08 23:52:21 2019 +0800"
      },
      "committer": {
        "name": "Mark Chien",
        "email": "markchien@google.com",
        "time": "Tue Feb 12 08:20:27 2019 +0000"
      },
      "message": "Support multi-SIM entitlement check\n\n1. Trigger entitlement recheck when perferred SIM switch.\n2. Get resources from preferred SIM\u0027s subId to build\n   TetheringConfiguration.\n\nBug: 120069528\nBug: 122108346\nTest: -atest FrameworksNetTests\n      -build, flash, booted\n      -manual hotspot hotspot with DSDS switch\n\nChange-Id: Icbfa8e84d675c95c0c5563087490ca8e36d91b73\nMerged-in: Icbfa8e84d675c95c0c5563087490ca8e36d91b73\n"
    },
    {
      "commit": "4f7ff3837665a7cbfd0a2d22a421e9131a1d77d0",
      "tree": "73f6e6ca7dfda07aafe204f1fc97e60041d0913c",
      "parents": [
        "e34c699d84fcf4cb764536994de229a3190100af",
        "293422f1d0ca3367334c4738673b3c5d428089b0"
      ],
      "author": {
        "name": "Mark Chien",
        "email": "markchien@google.com",
        "time": "Tue Feb 12 08:05:11 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 12 08:05:11 2019 +0000"
      },
      "message": "Merge \"Support multi-SIM entitlement check\""
    },
    {
      "commit": "638601c47d75c8821cc300eeada680b2c2a8aef2",
      "tree": "bb6bd477cc52bada7b54b367cb1442a76a3d2c76",
      "parents": [
        "d59a139daff9e258ff4482fbd55b0c44ccd0bed1",
        "a6391b14d2ee920ea80bc6ec258d6679b6382511"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Mon Feb 11 20:44:47 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Feb 11 20:44:47 2019 -0800"
      },
      "message": "Merge \"Remove hard-coded NetworkStack package name\" am: e765e8b7aa am: d49230d8df\nam: a6391b14d2\n\nChange-Id: Ic93c22e03a4ead4ec37b955993a32c8ce284e0a6\n"
    },
    {
      "commit": "9c5d96490279dbc5cea09cf8a2da29318b397729",
      "tree": "3328cc578885afd9ca52bdb05241c83b7e260712",
      "parents": [
        "f46b14b6aff8293a8881d97f6fee089ae86c0955"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Thu Feb 07 21:29:57 2019 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri Feb 08 12:12:57 2019 +0900"
      },
      "message": "Remove hard-coded NetworkStack package name\n\nHave the network stack pass its package name in\nshowProvisioningNotification instead.\n\nBug: 124033493\nTest: flashed, WiFi and captive portal works\nTest: atest FrameworksNetTests NetworkStackTests\nChange-Id: I1f3312768ba1fb34e99a827e1fcdaf7510e318a8\n"
    },
    {
      "commit": "de626e0520cff86f09e0d009221c40a41c77732d",
      "tree": "952e3b5583f8b90dd1f6cdc08f6370b1272f7fbc",
      "parents": [
        "dcdf8c868067203a96100c511a8168ba8241f4ae",
        "66b84e3c44b42e60494adfa5b827d132e793ac06"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Wed Feb 06 01:47:49 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Feb 06 01:47:49 2019 -0800"
      },
      "message": "Merge \"[KA03.5] Add stable AIDL parcelable for TcpKeepalivePacketData\" am: 533b2960fc am: 968c9f495c\nam: 66b84e3c44\n\nChange-Id: I700550160c795becb4c3e37a88328488846d272f\n"
    },
    {
      "commit": "f431962460c006841a85b16b1c01ebca0ab8aab5",
      "tree": "a1b7706c577ee571e770d120ee9a14345868dc76",
      "parents": [
        "75c2d0936dd2e1ed0a32c56cddc77be333dca6fc",
        "9eb8724be747e62c7269d13945a2453a7535f825"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Tue Feb 05 22:41:37 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Feb 05 22:41:37 2019 -0800"
      },
      "message": "Merge \"[KA03] Support tcp keepalive offload\" am: 5f8ddc2eb1 am: 6bbaced544\nam: 9eb8724be7\n\nChange-Id: I55d7b285a75946713986163fbaa166d4b02513d4\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": "293422f1d0ca3367334c4738673b3c5d428089b0",
      "tree": "f8838019db401b8e7384df221ea2694b22208a32",
      "parents": [
        "8fc0510830552929534d3331460d83ada3647ec5"
      ],
      "author": {
        "name": "markchien",
        "email": "markchien@google.com",
        "time": "Tue Jan 08 23:52:21 2019 +0800"
      },
      "committer": {
        "name": "markchien",
        "email": "markchien@google.com",
        "time": "Mon Feb 04 18:53:57 2019 +0800"
      },
      "message": "Support multi-SIM entitlement check\n\n1. Trigger entitlement recheck when perferred SIM switch.\n2. Get resources from preferred SIM\u0027s subId to build\n   TetheringConfiguration.\n\nBug: 120069528\nBug: 122108346\nTest: -atest FrameworksNetTests\n      -build, flash, booted\n      -manual hotspot hotspot with DSDS switch\n\nChange-Id: Icbfa8e84d675c95c0c5563087490ca8e36d91b73\n"
    },
    {
      "commit": "e4135287005280f296122781e1b05018423cf572",
      "tree": "454aae0ff4cd8ee7df865f650dc3696ca3cd38a5",
      "parents": [
        "7343460cd0a7957966b31a263c261dcaf337eb78"
      ],
      "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": "Mon Feb 04 04:06:22 2019 +0000"
      },
      "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\n(clean cherry-pick from aosp/860394)\n\nBug: 114151147\nTest: 1. atest FrameworksNetTests\n      2. atest FrameworksWifiTests\n      3. atest FrameworksTelephonyTests\n\nChange-Id: Ia9917d12987e91e87e34ffb3f126e7bc7c9c187e\n"
    },
    {
      "commit": "c85d681cec564151c62a29dbaf8792cee3347bb3",
      "tree": "65916d62fe27e96af0ffca0b74e239701c940060",
      "parents": [
        "3684f14c480fba5e5098bc1bead27e88e0e4c3ec",
        "a31f85f6dcdfd9dcbc9a9b02ead37094c2a1fac1"
      ],
      "author": {
        "name": "Mark Chien",
        "email": "markchien@google.com",
        "time": "Wed Jan 30 23:59:01 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jan 30 23:59:01 2019 -0800"
      },
      "message": "Merge \"Add get last entitlement value callback API\" am: 4163ff7928 am: 524fbd619e\nam: a31f85f6dc\n\nChange-Id: If67c8d092dd2c40f95cbe423bc694aa349039541\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": "066e3262223a0b8cc1f3970f53070676d60b414a",
      "tree": "2641593d0e2814cf951ac6b3c1c754cbe6d3732d",
      "parents": [
        "930321a0c6800fd866bd5738964bebeed5e7279c",
        "b8ae5b64a9cdd20eedcd9c5eba393a2bba2268c3"
      ],
      "author": {
        "name": "Varun Anand",
        "email": "vaanand@google.com",
        "time": "Wed Jan 30 20:11:09 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jan 30 20:11:09 2019 -0800"
      },
      "message": "Merge \"Add an API that allows VPNs to declare themselves as metered.\" am: 62a9b66a38 am: 9563c15d09\nam: b8ae5b64a9\n\nChange-Id: I74c6eceaa7444d0cc79fac3b94151a1bdeb63037\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": "08577fc5799b8a5d3ad254060a914cf0b6dec6d8",
      "tree": "0c9cc0eadfc2b807d2107369ea4e170b0bcb2603",
      "parents": [
        "41c6a0ad9c7e76e9d10962d0dad5e892d2512324"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Wed May 02 21:14:54 2018 +0900"
      },
      "committer": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Wed Jan 30 15:41:57 2019 +0900"
      },
      "message": "Tell the factory it is already serving a request.\n\nThis is a cherry-pick of ag/607226 that has been rebased on\ntop of four years of changes and with comments addressed.\n\nGives each factory a serial number and propogates it to every\nNetworkAgent so when a score comes back indicating a request is\nbeing handled the factory can account for it properly.\n\nWithout this, a new request that\u0027s already handled by a network\noffered by a factory will not cause an increment of the factorys\nref count. Concretely this results in issues like the RAT icon\nnot being displayed in spite of the network actually being up\nand usable.\n\nThis will be ported to AOSP as soon as possible, but immediately\nsome master-only WiFi tests need to be adjusted with this change\nwhich would not let me submit to AOSP.\n\nBug: 18637384\nBug: 29030667\nTest: manual\nTest: atest frameworks/opt/telephony/tests/telephonytests\nTest: atest frameworks-net\nTest: atest CtsNetTestCases CtsHostsideNetworkTests\nChange-Id: I597ac588f76dd507512ff02868fd1310b7e63f7e\n"
    },
    {
      "commit": "4a80077ddd2f3b84cacd7196a860a42008ddcc78",
      "tree": "b80bca1eff0aa0d4e80d85f7178f60033e84b04c",
      "parents": [
        "2040dcffa373bc602c1105bc5ba75f84a7e27a8c",
        "14062be8f21d0e6ea9ef93ffe57713cc2f1851ce"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue Jan 29 21:42:29 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jan 29 21:42:29 2019 -0800"
      },
      "message": "Merge \"Remove last NetworkStack usage of hidden APIs\" am: 16ec5d038c am: 4845df3ced\nam: 14062be8f2\n\nChange-Id: I2059d9cfa3015388301a74828255354b6dc23c23\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": "1f47ab08c1f54be43d320a5b58701b4a3f66077b",
      "tree": "fe7bddc0a77a0c4b5334bb9079a5ee3ae7ae7077",
      "parents": [
        "b9f55143bc8e26bdeb2d8c877dfea1c42edbc17d",
        "2b996ad0dd0720d8a40bd1ce9f4c205c371bef13"
      ],
      "author": {
        "name": "Pavel Grafov",
        "email": "pgrafov@google.com",
        "time": "Mon Jan 28 22:13:24 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jan 28 22:13:24 2019 -0800"
      },
      "message": "Merge \"Whitelist packages from VPN lockdown.\" am: 774c3ce152 am: b478bb25ac\nam: 2b996ad0dd\n\nChange-Id: Ice1f8f27da3d0092af58c8e93969575ba9f8f925\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": "18f11cd4d738754241d6332357ff51a0f1f97d1f",
      "tree": "6d84123f45d9743086f9b1359a01831de7e95911",
      "parents": [
        "367f06869632e103d8a58898101617d4700851e4",
        "77dd54d3d4cc25793f5055109e341923ddc38d8c"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Mon Jan 28 06:57:25 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 28 06:57:25 2019 +0000"
      },
      "message": "Merge \"Move NetworkUtils used by NetworkStack\""
    },
    {
      "commit": "77dd54d3d4cc25793f5055109e341923ddc38d8c",
      "tree": "48e5deef308b9072666a22dda769561da876fde9",
      "parents": [
        "6136239d9dbfdfd879e87543b0a3d7c76d29983d"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri Jan 25 08:54:08 2019 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Mon Jan 28 13:45:46 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\n(Cherry-pick of aosp/881952)\nChange-Id: Ie20dcee375b377236004a7689890729493aca857\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": "9b634f17a273698c76491d21b1d648c7a992ca17",
      "tree": "9c0c695d34a1006daaca5d36d1edd326a3308241",
      "parents": [
        "d22cf2d3ab9a89d1e656a483ea772da64c629ceb",
        "ca1820bf2f78421243b8876e1094ee1b0fa2ca3f"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Mon Jan 28 02:58:01 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 28 02:58:01 2019 +0000"
      },
      "message": "Merge \"Add NetworkStack networking deps to SystemApi\""
    },
    {
      "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": "91dce9c9c7bdaccbea3f6d5f3a154198b2d0b220",
      "tree": "d070d136a359a8bfcfc186e5fca6ee8d35e71413",
      "parents": [
        "0969d6ec11693967938cecff9674aed53a084c98",
        "d7bb3192af4ab15c533403c10e9e7b63c1c89396"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Thu Jan 24 16:55:28 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jan 24 16:55:28 2019 -0800"
      },
      "message": "Merge \"Fix IPMS tests timeout.\" am: 1f9d80f6ee am: 618ff5185a\nam: d7bb3192af\n\nChange-Id: I3c27bb789b8c44d6e2c46dabe65bf19452453257\n"
    },
    {
      "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": "ca1820bf2f78421243b8876e1094ee1b0fa2ca3f",
      "tree": "80870620049b1452a50ca6c5ecf0ada89e15e457",
      "parents": [
        "6136239d9dbfdfd879e87543b0a3d7c76d29983d"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Thu Jan 24 22:00:27 2019 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri Jan 25 09:05:58 2019 +0900"
      },
      "message": "Add NetworkStack networking deps to SystemApi\n\nTest: atest FrameworksNetTests\nBug: 112869080\nChange-Id: Id59dc06fb85e4ac88098f56b621ec880610759ce\n"
    },
    {
      "commit": "fe1cdd047f5b002ed19aa0609afa9f76f34ac972",
      "tree": "80571155efff09d8f5e61f25193b8aeb9d3851ba",
      "parents": [
        "1bbc8a56c48c38c8dde3df32ed4be606a0d99a4d",
        "fb54fde4023d1837cddf167ae6d503cb064060ad"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Jan 24 14:46:02 2019 -0800"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Jan 24 14:46:02 2019 -0800"
      },
      "message": "resolve merge conflicts of fb54fde4023d1837cddf167ae6d503cb064060ad to master\n\nBug: None\nTest: I solemnly swear I tested this conflict resolution.\nChange-Id: I7256999a13b713607cfb4c844bf1bc7b37b827a7\n"
    },
    {
      "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": "46165b5d61e6c9bb2a606822bdeecfc28a59c06e",
      "tree": "76ffd7af9a9abe20482d666fb5d2d5d893d1728d",
      "parents": [
        "e0cf597556307945a45bcd1ed7154604d182ba77",
        "1d58621a1f7948f7443bab286bc575fd38db1e16"
      ],
      "author": {
        "name": "Pavel Grafov",
        "email": "pgrafov@google.com",
        "time": "Thu Jan 24 16:15:08 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 24 16:15:08 2019 +0000"
      },
      "message": "Merge \"Whitelist packages from VPN lockdown.\""
    },
    {
      "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": "06928f442249220e3318db11e0081502ef758aba",
      "tree": "c0bd28e73d7195760cd30c1ff12ee029ec5aa9f1",
      "parents": [
        "8ac0a656a8611653e49c5a3b0520d4f63f02be7a",
        "18622d3d3529f0becfb339908e73fbdf347616e6"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jan 24 15:09:18 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 24 15:09:18 2019 +0000"
      },
      "message": "Merge \"Add API for proxy configuration over VPN.\""
    },
    {
      "commit": "18622d3d3529f0becfb339908e73fbdf347616e6",
      "tree": "7497e56b19ac3aed7363968ca858a21cb4df8f48",
      "parents": [
        "2499cc2f97eeeddd150d756ad5547644f3694978"
      ],
      "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 12:54:19 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\n"
    },
    {
      "commit": "5fa8cb3802551507ccf3de0b699136c757b25b44",
      "tree": "efbacdc6c3cb7b2ca5a2e2a98abac8269f71dfc5",
      "parents": [
        "c97d0c5f12fbe9f470ef368a912abffbbaba7de3",
        "5b8b54cdcda40857e144e9fdf3aa8594443f1393"
      ],
      "author": {
        "name": "Lucas Lin",
        "email": "lucaslin@google.com",
        "time": "Thu Jan 24 03:56:21 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jan 24 03:56:21 2019 -0800"
      },
      "message": "Merge \"Popup a notification after logging in the captive portal network\" am: 6fa3d391b8 am: ff4106fc42\nam: 5b8b54cdcd\n\nChange-Id: I62b9ef24f3a7f9fe75450a05d19dffda3b84d4b5\n"
    },
    {
      "commit": "1d58621a1f7948f7443bab286bc575fd38db1e16",
      "tree": "1c269fb3d0de322195097bcf29fa946a3a20c95a",
      "parents": [
        "c2888cbc48c98297360356fa13ecdd9afe102ad9"
      ],
      "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 11:34:17 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\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": "0affe5dad2190fba8093a695d05687440a75d102",
      "tree": "3dfc513007e395605c27ef4b095f6979c2dd17fc",
      "parents": [
        "e765dc6e5fdaed22fc69a5420bd87840e13c8579",
        "3dea8549989f3b8e8f8d877e0db8b8a8c77fe692"
      ],
      "author": {
        "name": "Junyu Lai",
        "email": "junyulai@google.com",
        "time": "Wed Jan 23 22:24:41 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jan 23 22:24:41 2019 -0800"
      },
      "message": "Merge changes from topic \"ka05\" am: b3656c7b1b am: 14e51c8a84\nam: 3dea854998\n\nChange-Id: Ie56c431a6d934c752d1de30fc4bf98a7e557e5b2\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": "6ca2d0f4c13490d445878a5966c9ef9f58f36f8b",
      "tree": "0b7b7890ca69b52d707e8c1a0517f23f1a24d65f",
      "parents": [
        "bb4e16d581abb729231cc29e60ef9a80b6429d7e",
        "9a13aa9ffd7d9eeee0bfd7bf04b249a4331c7b88"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Wed Jan 23 09:01:09 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jan 23 09:01:09 2019 -0800"
      },
      "message": "Merge changes I1250730c,I7d00848c am: e693d49c0a am: 9026fb46cc\nam: 9a13aa9ffd\n\nChange-Id: Icc938491a9c4474cc27a4376ef03c954aac461b3\n"
    },
    {
      "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": "baed7690a2ac4593adce1b71dc8880a7f074ee47",
      "tree": "c245ad010aabec8fdf0a081039613919d931cd8c",
      "parents": [
        "a28407a4961cd195d6211caffcea9b49a08941ac",
        "2dfe01def905364a159a1dbd978f3f0f17e0152c"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Wed Jan 23 08:36:21 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jan 23 08:36:21 2019 -0800"
      },
      "message": "Merge \"Stop depending on the ConnectivityService default request.\" am: e62097f71d am: 15f89ada84\nam: 2dfe01def9\n\nChange-Id: Ia3730d55442da165b779242a35c7c66bd0d9b8fe\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": "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": "dccea36b528060219f5eb8292d9472250d26c597",
      "tree": "ac02c5546dba01d0f186938d232177f8a92345d7",
      "parents": [
        "ed9c5ef6084d66e5f55bd7eacb0a06d960d49e76",
        "f1c3019d42696b63297b7fdff0be29f63b1e9576"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Wed Jan 23 03:37:45 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jan 23 03:37:45 2019 -0800"
      },
      "message": "Merge \"[MS11] Implement findL2Key\" am: 773f3f5bf3 am: 21c8257178\nam: f1c3019d42\n\nChange-Id: I768bc38b4f7d184842f49f6c0a5ac621020d2bd4\n"
    },
    {
      "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": "d121dd2aa5452b26996daf1236f5617719288d4d",
      "tree": "f032b46383d4af312d3e59bc3484a3cd7bb954dc",
      "parents": [
        "1addc53a77a4d806b9b54333c014b8f6989d1a4e",
        "e052154abb25cff4d657ca98b5591b5a49bab8cf"
      ],
      "author": {
        "name": "Luke Huang",
        "email": "huangluke@google.com",
        "time": "Wed Jan 23 01:24:21 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jan 23 01:24:21 2019 -0800"
      },
      "message": "Merge changes from topic \"Java async dns\" am: 31ff0616d1 am: a8e16262f1\nam: e052154abb\n\nChange-Id: I12f50513eee1c1cf3c908036fe80d3a3d8c373d0\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": "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": "cef9889b0dec4501f174429ddb6678ec0907a7c0",
      "tree": "eeda3fead0441e3094227154e6821b79ea85fa02",
      "parents": [
        "1655f9896f9b757450de0a6a73cdea67e142244c",
        "3fb943a7b5a0c3cc0dbe9ccd5d23c3436c5a4f89"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue Jan 22 18:21:58 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jan 22 18:21:58 2019 -0800"
      },
      "message": "Merge \"Add getAvoidBadWifi system API\" am: 58582a36fc am: 656f2fa71a\nam: 3fb943a7b5\n\nChange-Id: I8ff56380368a340162368ccbeefcae6df1ae549f\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": "d068b9302ad200f218eafc0ec412bca5a6bef16d",
      "tree": "3c7ebe288ee9a77cd71bee6c1ceb47ca738f6cf9",
      "parents": [
        "e54b7b549871bf2f475b04a6ad3a4289d55e02cc",
        "5da014a5fb32044a070ad83e1e908b8260ad5480"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Tue Jan 22 15:29:37 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jan 22 15:29:37 2019 -0800"
      },
      "message": "Merge changes If71fadd2,I42047185 am: 022daeb874 am: 6d1da29090\nam: 5da014a5fb\n\nChange-Id: Ia91e6eac1b53fabb018fb4e1f689bb986e895ca4\n"
    },
    {
      "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": "18d0de7ecc6db0341e406cf4be049c6bb591175c",
      "tree": "eef11e421b38b19596d72a337e5df03bb95c9f27",
      "parents": [
        "6afb4045c88c0633b0e43354b2499fc49acc8833",
        "43c0ffc1b1f723da1a4d8fc48fb8ee4ce6dcf7f9"
      ],
      "author": {
        "name": "Pavel Grafov",
        "email": "pgrafov@google.com",
        "time": "Tue Jan 22 07:19:18 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jan 22 07:19:18 2019 -0800"
      },
      "message": "Merge \"Add API for VPN apps to query always-on and lockdown.\" am: 479c0769f1 am: 5fb1be5c0b\nam: 43c0ffc1b1\n\nChange-Id: Ied8e5a01cdf76d8da02d2dc292943e6a559cc84e\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": "75df50dc83f5ffb0b00cdf16f86556ce462df129",
      "tree": "889bd1091b36d36fa52d67fb8ba5576de7cf956d",
      "parents": [
        "b809148b9ad74ae13a2c8a7fe6cc2c66f465fa41",
        "f012b976f9fb423778182cbad3275c4a115c9fee"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue Jan 22 05:43:59 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jan 22 05:43:59 2019 -0800"
      },
      "message": "Merge \"Remove InterfaceController dependency on NMS\" am: 06adb08d27 am: b6eb7e19e2\nam: f012b976f9\n\nChange-Id: I7916f77c66d928bd1b1dd5616f2a478119263f2a\n"
    },
    {
      "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": "0a0dc38d8ac963a44c105c744b162e9eb93e5038",
      "tree": "4d9f027c3d875e8df567a6b5699bcad4e8acc117",
      "parents": [
        "69fbfdb7876bbd2154c56770564dd730b57b98b2",
        "4293455fd124a2992d309ac6121b2104ff68473a"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue Jan 22 03:54:23 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jan 22 03:54:23 2019 -0800"
      },
      "message": "Merge \"Add LinkProps and NetworkCaps methods to SystemApi\" am: 4bde11491b am: 563c545187\nam: 4293455fd1\n\nChange-Id: I7e5a733b5c581679c0e50015205d9b8a3a2e8df2\n"
    },
    {
      "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": "007322ecac6e5fe6b0ae4659f8fbe7557aad6daf",
      "tree": "9b49ac02700f561c0ae75e8f773b5f61f8570031",
      "parents": [
        "716897ce2ee155b3bda109bc5092b142fd63c350",
        "2f58858d1aae765ff62e0418622e9beb69973752"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue Jan 22 00:28:03 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jan 22 00:28:03 2019 -0800"
      },
      "message": "Merge \"Add NetworkStack metrics to system API\" am: 8586a43f31 am: 2aa1bbe018\nam: 2f58858d1a\n\nChange-Id: I848ac4c2bb8d35a2f756f97e57f9a61698c00f57\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": "8bddc8fc4e250607300db3b31af6746fcf4ad3d6",
      "tree": "3dda8f95410ccd910e12da2d31857ec6976c55e5",
      "parents": [
        "6f40038ac4ac2f5ca3eb1dbfbb23658f7e409d1f",
        "cd2dc71a8ad9a101f70926486e6efafdbcccb4da"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Mon Jan 21 23:40:32 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jan 21 23:40:32 2019 -0800"
      },
      "message": "Merge \"Fix lint errors for moving IpClient to NetworkStack\" am: 9325fbc4f8 am: 3d7914e98b\nam: cd2dc71a8a\n\nChange-Id: Iea48be6bcfca67cf702b2bb3f4b0ed5f44ec40eb\n"
    },
    {
      "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": "5c1fb26b3b946d7c8be0de3162be7137e04182dc",
      "tree": "065dcb683d14cd0afa29b58e7a8698d0b24bd911",
      "parents": [
        "46887e58fb2181cbedd0e21451d2f41ac7bdc8eb",
        "79489fa5426f98c14c41bc56eb4311edeb26210c"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Mon Jan 21 23:00:00 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jan 21 23:00:00 2019 -0800"
      },
      "message": "Merge \"Properly expect all callbacks in testStackedLinkProperties.\" am: a1b2a93273 am: 2f4c32bc50\nam: 79489fa542\n\nChange-Id: I615f412f7696752d867337ab5cbabe24daea2ed3\n"
    },
    {
      "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": "4603a03993acc764a7fda1622931b24ebc9b593a",
      "tree": "73b58ba3ed27bc7647f6db7dc644a358c317feba",
      "parents": [
        "ce476415ac36eea0446fba89ffa48894992052e8",
        "a359fc39489aa79045fe20fd50a38a9f3625eae0"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Mon Jan 21 17:41:49 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jan 21 17:41:49 2019 -0800"
      },
      "message": "Merge \"Add IIpClient API for IpClient\" am: 60b9ad2ec3 am: e89f53330a\nam: a359fc3948\n\nChange-Id: Icbbbd2c5db729210735c0bcb415b9c4025d852e0\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"
    }
  ],
  "next": "75437d2310cbb148c51fedee1ac833438d9cea34"
}
