)]}'
{
  "log": [
    {
      "commit": "52792d160a876e533658283c08985e9a996a8f98",
      "tree": "693d7cdb269c9e37600aa84c1fd53452db864859",
      "parents": [
        "c54e78a08486e923711bf33d0762079d650ace7f",
        "2546cef56cdf8767c4bb600251aed8c15dd6a7ae"
      ],
      "author": {
        "name": "Varun Shah",
        "email": "varunshah@google.com",
        "time": "Thu Jan 24 13:35:28 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 24 13:35:28 2019 +0000"
      },
      "message": "Merge \"Added APIs for App Usage Limits.\""
    },
    {
      "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": "5b8b54cdcda40857e144e9fdf3aa8594443f1393",
      "tree": "c3756a4446ffe820ba39f79a8e070b35985da101",
      "parents": [
        "f37194e1baf2f25bf7af7fe4aa22b775de34f28e",
        "ff4106fc42d8243462897efd19f279de24220e3d"
      ],
      "author": {
        "name": "Lucas Lin",
        "email": "lucaslin@google.com",
        "time": "Thu Jan 24 03:41:40 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jan 24 03:41:40 2019 -0800"
      },
      "message": "Merge \"Popup a notification after logging in the captive portal network\" am: 6fa3d391b8\nam: ff4106fc42\n\nChange-Id: I46598799c8a21d986d1790afc5c4b01726081e97\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": "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": "3dea8549989f3b8e8f8d877e0db8b8a8c77fe692",
      "tree": "f1829b193415574eaf13649a4550041ae2a4dbcc",
      "parents": [
        "6133800a585c05bd8851f2d3252667816e28f099",
        "14e51c8a848b3d5a2d7c25c0699429d402465756"
      ],
      "author": {
        "name": "Junyu Lai",
        "email": "junyulai@google.com",
        "time": "Wed Jan 23 21:44:11 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jan 23 21:44:11 2019 -0800"
      },
      "message": "Merge changes from topic \"ka05\" am: b3656c7b1b\nam: 14e51c8a84\n\nChange-Id: I08979872a03c52e933daa39730fd71e998272613\n"
    },
    {
      "commit": "53067713f7242bc0d6cf57d408d830c74d28e445",
      "tree": "f7f0d056b5b39c6846c103362da914ae46606152",
      "parents": [
        "c5ceebba02670546557162dea3a24eb56ef63f76",
        "713b4ac76f1bed98b8a332ba2601390d73121fff"
      ],
      "author": {
        "name": "Tadashi G. Takaoka",
        "email": "takaoka@google.com",
        "time": "Wed Jan 23 21:11:46 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jan 23 21:11:46 2019 -0800"
      },
      "message": "Merge \"Add generic SelectTest JUnit filter and CoreTestsFilter\" am: 4864bfa722\nam: 713b4ac76f\n\nChange-Id: I9ba844265852ba3d45a5e514e22f84ea92d84b9d\n"
    },
    {
      "commit": "b3656c7b1b11e10cab70e90dcb6117f70607c891",
      "tree": "3fff5a7293562b928340f82c16347a1eaa22fa3a",
      "parents": [
        "9f7bc7d616543d26da1b5878c361898182adacc2",
        "215b877f11c82b1cc11e5c92c5330d4855e9dda7"
      ],
      "author": {
        "name": "Junyu Lai",
        "email": "junyulai@google.com",
        "time": "Thu Jan 24 05:06:39 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 24 05:06:39 2019 +0000"
      },
      "message": "Merge changes from topic \"ka05\"\n\n* changes:\n  [KA05] Export keepalive offload api for IpSec Nat-T file descriptor\n  [KA01] export SocketKeepalive API for NAT-T keepalive\n"
    },
    {
      "commit": "4864bfa722382c24d5389ec18a08c82521ce836f",
      "tree": "8de650ab7e2b80de884d79a9ce5125a9a82a7a91",
      "parents": [
        "d49a6c86f4878c238fe981b24c6a5e01ef6e6218",
        "0f224efb5eb0b68e5fa4b923dbf72f3db9ac165b"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jan 24 04:36:44 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 24 04:36:44 2019 +0000"
      },
      "message": "Merge \"Add generic SelectTest JUnit filter and CoreTestsFilter\""
    },
    {
      "commit": "2546cef56cdf8767c4bb600251aed8c15dd6a7ae",
      "tree": "e7e029bf221c31709f9f24791a4565c527051dda",
      "parents": [
        "203445c85380a750a10cbbd2a57a0d87f382922e"
      ],
      "author": {
        "name": "Varun Shah",
        "email": "varunshah@google.com",
        "time": "Fri Jan 11 15:50:54 2019 -0800"
      },
      "committer": {
        "name": "Varun Shah",
        "email": "varunshah@google.com",
        "time": "Wed Jan 23 20:30:25 2019 -0800"
      },
      "message": "Added APIs for App Usage Limits.\n\nAdded a new AppUsageLimit group observer which follows the same pattern as\nother UsageGroups. This specific observer allows the launcher to query\nfor the AppUsageLimit, available via the new LauncherApps API below. The\nobserver can be registered and unregistered via the respective new APIs in\nUsageStats.\n\nLauncherApps has a new API which allows it to get the AppUsageLimit for\na specified package and user, initally set via the API in UsageStats.\nThis new API allows the launcher to query specifics about the limit such\nas how much usage time the limit has, and how much total usage time is\nremaining.\n\nBug: 117409586\nTest: atest FrameworksServicesTests:AppTimeLimitControllerTests\nTest: atest android.app.usage.cts.UsageStatsTest#testObserveUsagePermissionForRegisterObserver\nTest: atest android.app.usage.cts.UsageStatsTest#testObserveUsagePermissionForUnregisterObserver\nTest: manual (mmma frameworks/base/tests/UsageStatsTest/)\nChange-Id: Ifaffab629409e9191e40404a949c8df70bd3f7cb\n"
    },
    {
      "commit": "cd8b861529416014a4cbfaf90a64d8994f0a50fa",
      "tree": "56b26e9b9d2a02dab0b1ef4dafefb48ebf95a244",
      "parents": [
        "e0b050e1c3efc217ee3aabeba08ebefb003feb17",
        "4ca00224e94230870bac2d56ae201c4a22707a13"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 23 20:10:39 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 23 20:10:39 2019 +0000"
      },
      "message": "Merge \"Fix some tests in SelectTestTests\""
    },
    {
      "commit": "99f46cae08f589dbe63f12e06026742634f6936e",
      "tree": "1ed837ae4fa9fec71c2df17bbac04aab72927d2d",
      "parents": [
        "9de4d6a3f58c13223de25319a972d83f9d34a536",
        "5cca8f250cd287d311b9e7b560a6c10fb909c6bc"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Jan 23 17:57:42 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 23 17:57:42 2019 +0000"
      },
      "message": "Merge \"Add continuous SKP capture test api\""
    },
    {
      "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": "9a13aa9ffd7d9eeee0bfd7bf04b249a4331c7b88",
      "tree": "927086da5f13338b399da001f6f5735733e75075",
      "parents": [
        "02c75cd029211127fc0a4231f4fcdbed4d9870a8",
        "9026fb46ccfe61385ef7e07940ca4111f39b1b99"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Wed Jan 23 08:40:50 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jan 23 08:40:50 2019 -0800"
      },
      "message": "Merge changes I1250730c,I7d00848c am: e693d49c0a\nam: 9026fb46cc\n\nChange-Id: I31c9f6c11d0f52a34f68151fc2baca1921dcadad\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": "2dfe01def905364a159a1dbd978f3f0f17e0152c",
      "tree": "7553b713bf8168b37bbf5b4c735bf9aabe38c603",
      "parents": [
        "5c77cae9e549b8a3b0d080f094545f65cda88201",
        "15f89ada840880ee3bc3b973a945c6c4dbf1ba08"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Wed Jan 23 08:25:19 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jan 23 08:25:19 2019 -0800"
      },
      "message": "Merge \"Stop depending on the ConnectivityService default request.\" am: e62097f71d\nam: 15f89ada84\n\nChange-Id: I93532a44b070dfbca74e8b68c3e26aa96ed5c480\n"
    },
    {
      "commit": "3a02bebb341c8ca414c8da403b2e74e356683eff",
      "tree": "23aaa64eb0238c64071ee4a40fc4597c2f34f539",
      "parents": [
        "438f6799e9c2b7f7ac4b8a101028111b194420d7",
        "f8f1b38fd1a97ded49c15a32d3189082b2db63e4"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 23 15:49:41 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 23 15:49:41 2019 +0000"
      },
      "message": "Merge changes Ic8db00b6,I68a91e07,I860ad443\n\n* changes:\n  Remove package name from ROLLBACK_EXECUTED broadcast.\n  Use VersionedPackage in PackageRollbackInfo.\n  Assign a rollbackId to all rollbacks.\n"
    },
    {
      "commit": "48eac1d4c8507c794aa162bd93a4c7319c52bff4",
      "tree": "00baf657553ad454eb24984372475d7c5c324698",
      "parents": [
        "e62097f71d7719df24430e1e1405ba4ecaaf4b01"
      ],
      "author": {
        "name": "junyulai",
        "email": "junyulai@google.com",
        "time": "Thu Dec 27 17:25:29 2018 +0800"
      },
      "committer": {
        "name": "junyulai",
        "email": "junyulai@google.com",
        "time": "Wed Jan 23 23:17:17 2019 +0800"
      },
      "message": "[KA01] export SocketKeepalive API for NAT-T keepalive\n\nThe new set of API replace the PacketKeepalive system API\nwhich is only specific for IPsec NAT-T keepalive packet. Allows\napplications to request different types of keepalives through\nthe same set of API.\n\nBy using keepalives, applications could request system to\nperiodically send specific packets on their behalf, using\nhardware offload to save battery power.\n\nThis change would only address interface change and test part of\noriginal functionality. After all reference of PacketKeepalive\nare removed, another change would be submitted to remove old\nAPI.\n\nBug: 114151147\nTest: atest FrameworksNetTests\nChange-Id: I3367666810acc44d5ad20e19acd4bf936e8b5d9c\n"
    },
    {
      "commit": "e693d49c0a46611d18afb69701277318958a0e9c",
      "tree": "cef829ed144da7a674de0f541ccaa14db7aee7f1",
      "parents": [
        "78cccf728dea2952185c83c5f03bd54418cb98a8",
        "c6304b87416882a9ed71069de0572fb3181c734c"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Wed Jan 23 15:05:00 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 23 15:05:00 2019 +0000"
      },
      "message": "Merge changes I1250730c,I7d00848c\n\n* changes:\n  Create a wrapper for IpClient\n  Move IpClient to NetworkStack\n"
    },
    {
      "commit": "0f224efb5eb0b68e5fa4b923dbf72f3db9ac165b",
      "tree": "08e60028cbde94a6bf2fe48d31a33292c902b4e6",
      "parents": [
        "e62097f71d7719df24430e1e1405ba4ecaaf4b01"
      ],
      "author": {
        "name": "Tadashi G. Takaoka",
        "email": "takaoka@google.com",
        "time": "Wed Jan 23 22:09:52 2019 +0900"
      },
      "committer": {
        "name": "Tadashi G. Takaoka",
        "email": "takaoka@google.com",
        "time": "Wed Jan 23 23:04:03 2019 +0900"
      },
      "message": "Add generic SelectTest JUnit filter and CoreTestsFilter\n\nThe JUnit filter com.android.test.filters.SelectTest is a generic test\nfilter that can supersede |-e package| and |-e class| options of\nAndroidJUnitRunner.\n\nThe com.android.server.wm.test.filters.CoreTestsFilter extends SelectTest\nfilter to filter out Window Manager Service releated tests in\nFrameworksCoreTests.\n\nBug: 122451194\nTest: Can select some tests from WmTests.\n  $ adb shell am instrument -w \\\n      -e filter com.android.test.filters.SelectTest \\\n      -e selectTest com.android.test.filters.,com.android.server.wm.DummyTests \\\n      com.android.frameworks.servicestests/android.support.test.runner.AndroidJUnitRunner\nTest: CoreTestsFilter works for FrameworksCoreTests.\n  $ adb shell am instrument -w \\\n      -e filter com.android.server.wm.test.filters.CoreTestsFilter \\\n      -e selectTest_verbose true \\\n      com.android.frameworks.coretests/android.support.test.runner.AndroidJUnitRunner\n\nChange-Id: Ic72637997bf17debef914e2596049f6cf3e753de\nMerged-In: Ic72637997bf17debef914e2596049f6cf3e753de\n"
    },
    {
      "commit": "f8f1b38fd1a97ded49c15a32d3189082b2db63e4",
      "tree": "2d9de4663d38b6817bf6161e48dad32d066f2396",
      "parents": [
        "a7e9b2db4bc2c3cf146c8d8ba2348792ef316e50"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Wed Jan 23 10:46:30 2019 +0000"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Wed Jan 23 13:22:44 2019 +0000"
      },
      "message": "Remove package name from ROLLBACK_EXECUTED broadcast.\n\nThe receiver of the broadcast would likely want to query the rolled back\npackages via RollbackManager regardless, and it\u0027s not clear which\npackage to put when an atomic set of packages is rolled back.\n\nBug: 112431924\nTest: atest RollbackTest\nChange-Id: Ic8db00b62d8993e00a0dd2cb79ae68c430b45bb8\n"
    },
    {
      "commit": "4ca00224e94230870bac2d56ae201c4a22707a13",
      "tree": "a8013637ad5fe1381d0078b7fdbe29aa1bf37e3f",
      "parents": [
        "f71cb5ac321085af5573052e4063657d67fe61c7"
      ],
      "author": {
        "name": "Tadashi G. Takaoka",
        "email": "takaoka@google.com",
        "time": "Wed Jan 23 22:14:28 2019 +0900"
      },
      "committer": {
        "name": "Tadashi G. Takaoka",
        "email": "takaoka@google.com",
        "time": "Wed Jan 23 22:16:05 2019 +0900"
      },
      "message": "Fix some tests in SelectTestTests\n\nThis is a follow up of Ic72637997bf17debef914e2596049f6cf3e753de\n\nBug: 122451194\nTest: atest FrameworksServicesTests:com.android.test.filters.SelectTestTests\nChange-Id: I61c5837a097451a204e9602476c68fdda4fc30be\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": "f1c3019d42696b63297b7fdff0be29f63b1e9576",
      "tree": "8d5cc52ace1371e5fe88280636301c32ebb5a793",
      "parents": [
        "e052154abb25cff4d657ca98b5591b5a49bab8cf",
        "21c825717880162b1ebc08af2cbb25c908e8f620"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Wed Jan 23 03:24:20 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jan 23 03:24:20 2019 -0800"
      },
      "message": "Merge \"[MS11] Implement findL2Key\" am: 773f3f5bf3\nam: 21c8257178\n\nChange-Id: I3005b92ab49ed79f854614281ef09fe5dbeea5c9\n"
    },
    {
      "commit": "a7e9b2db4bc2c3cf146c8d8ba2348792ef316e50",
      "tree": "60edb1318d180f9257b1b9ef80f2e7926a4024f2",
      "parents": [
        "b9d54474adb78243ac426b9c9b562997c92ff078"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Tue Jan 22 17:20:58 2019 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Jan 23 11:02:56 2019 +0000"
      },
      "message": "Use VersionedPackage in PackageRollbackInfo.\n\nRather than defining a new custom PackageRollbackInfo.PackageVersion\ntype.\n\nAlso clean up PackageRollbackInfo API by replacing public fields with\nmethods and picking better names.\n\nBug: 112431924\nTest: atest RollbackTest\nChange-Id: I68a91e07b8745df9c5ecb22fdccbfcd76385814a\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": "d7c5450f457c02c402c77c9776a318d8c6a17eff",
      "tree": "33c868a605de2eefec186bfd2173d83a8526d4aa",
      "parents": [
        "d121dd2aa5452b26996daf1236f5617719288d4d",
        "e9d3314dc94d20539e45d952b31531e312bb86b3"
      ],
      "author": {
        "name": "Alan Stokes",
        "email": "alanstokes@google.com",
        "time": "Wed Jan 23 09:36:27 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 23 09:36:27 2019 +0000"
      },
      "message": "Merge \"Add logging of dynamic loading of native code.\""
    },
    {
      "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": "e052154abb25cff4d657ca98b5591b5a49bab8cf",
      "tree": "c6aba0ef33c4623a69290dbdf6aa04918cac86ba",
      "parents": [
        "716eb586ac7ac40e52e616cec9d790475cc5ee89",
        "a8e16262f18ab839bb443fb140286f4e59ef7020"
      ],
      "author": {
        "name": "Luke Huang",
        "email": "huangluke@google.com",
        "time": "Wed Jan 23 01:14:34 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jan 23 01:14:34 2019 -0800"
      },
      "message": "Merge changes from topic \"Java async dns\" am: 31ff0616d1\nam: a8e16262f1\n\nChange-Id: I305cf0ae791f9503519884bdf382863002357ac7\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": "1addc53a77a4d806b9b54333c014b8f6989d1a4e",
      "tree": "8098a9eb0f153b9b7da3a208352de367d765a876",
      "parents": [
        "9c6e668b47780a17a8e2ca8069f3b15983e21d82",
        "869f706d863d54c34aca575cd2ce5115273ea5ef"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Jan 23 09:03:17 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 23 09:03:17 2019 +0000"
      },
      "message": "Merge \"RollbackManager: Support userdata snapshot / restore.\""
    },
    {
      "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": "9e6a6185b6c68c192fe01f6b926c4da83a78465e",
      "tree": "13763b9c50fc1762733a04812d5b02c6455c26da",
      "parents": [
        "01dd7ae8118251afdf17d6880316b8d247b58b5b",
        "2bc664065e12437baa3c0a3a5789209752d074fe"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 23 08:17:31 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 23 08:17:31 2019 +0000"
      },
      "message": "Merge \"Add generic SelectTest JUnit filter and CoreTestsFilter\""
    },
    {
      "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": "3fb943a7b5a0c3cc0dbe9ccd5d23c3436c5a4f89",
      "tree": "b17423863c4685ec0607363f5bb9259648df207c",
      "parents": [
        "948ba47e14493ebaad17154acd314a74605f3213",
        "656f2fa71ad3f48e879e930c49dcd961d38211b3"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue Jan 22 17:53:09 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jan 22 17:53:09 2019 -0800"
      },
      "message": "Merge \"Add getAvoidBadWifi system API\" am: 58582a36fc\nam: 656f2fa71a\n\nChange-Id: Ide4ffc316c9301b795e8c0dabea3322aaf0b3184\n"
    },
    {
      "commit": "2bc664065e12437baa3c0a3a5789209752d074fe",
      "tree": "594a828b031c64c5ad4d4d8d752d6d31e479c4fc",
      "parents": [
        "ce476415ac36eea0446fba89ffa48894992052e8"
      ],
      "author": {
        "name": "Tadashi G. Takaoka",
        "email": "takaoka@google.com",
        "time": "Tue Jan 08 17:35:43 2019 +0900"
      },
      "committer": {
        "name": "Tadashi G. Takaoka",
        "email": "takaoka@google.com",
        "time": "Wed Jan 23 10:36:44 2019 +0900"
      },
      "message": "Add generic SelectTest JUnit filter and CoreTestsFilter\n\nThe JUnit filter com.android.test.filters.SelectTest is a generic test\nfilter that can supersede |-e package| and |-e class| options of\nAndroidJUnitRunner.\n\nThe com.android.server.wm.test.filters.CoreTestsFilter extends SelectTest\nfilter to filter out Window Manager Service releated tests in\nFrameworksCoreTests.\n\nBug: 122451194\nTest: Can select some tests from WmTests.\n  $ adb shell am instrument -w \\\n      -e filter com.android.test.filters.SelectTest \\\n      -e selectTest com.android.test.filters.,com.android.server.wm.DockedStackDividerControllerTests \\\n      com.android.frameworks.wmtests/androidx.test.runner.AndroidJUnitRunner\nTest: CoreTestsFilter works for FrameworksCoreTests.\n  $ adb shell am instrument -w \\\n      -e filter com.android.server.wm.test.filters.CoreTestsFilter \\\n      -e selectTest_verbose true \\\n      com.android.frameworks.coretests/androidx.test.runner.AndroidJUnitRunner\n\nChange-Id: Ic72637997bf17debef914e2596049f6cf3e753de\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": "a3bc64302f29570a39fdfc1c07df0cf0690b6bb2",
      "tree": "32d3c2a37889dc6845c8e45032319aa9ff6d038e",
      "parents": [
        "0ef34932e3d28961bd693886acbd25f6f1c15061",
        "42249cb7c210f93d9aeaef7edca22a34f1c6e582"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 23 00:35:24 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 23 00:35:24 2019 +0000"
      },
      "message": "Merge \"Remove unused SleepUtils.\""
    },
    {
      "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": "5da014a5fb32044a070ad83e1e908b8260ad5480",
      "tree": "5756600787df392f126c2afef4efd3343382de34",
      "parents": [
        "7a037988d0812684a319bf9f71c71228fbaf5ed9",
        "6d1da290900284724fa798f1631490fbe8a6ed04"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Tue Jan 22 15:20:30 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jan 22 15:20:30 2019 -0800"
      },
      "message": "Merge changes If71fadd2,I42047185 am: 022daeb874\nam: 6d1da29090\n\nChange-Id: Id181b0c617c209bdf01ce25a8920d96025f8421d\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": "6cc4c4ff657c938b0b7dd7e6275d1080e15999be",
      "tree": "8ea588b849ebec3cfc3e5dd354e49e5e66df114d",
      "parents": [
        "d74cebf0d6a619800d839d9836ed7407fca650d1",
        "ef974c1a36fe16dac2af0b77feb833d549ecfa3c"
      ],
      "author": {
        "name": "Suren Baghdasaryan",
        "email": "surenb@google.com",
        "time": "Tue Jan 22 13:55:25 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jan 22 13:55:25 2019 -0800"
      },
      "message": "Merge changes from topic \"move sched_policy functions\" am: 2a2b4eec35\nam: ef974c1a36\n\nChange-Id: I571daf3bed2a2145ea85435f6d5a753635cca9f3\n"
    },
    {
      "commit": "42249cb7c210f93d9aeaef7edca22a34f1c6e582",
      "tree": "b5b68965b7e4d652de69ad39f513bd1b12ba1098",
      "parents": [
        "1e84afbac260ea0e8a8a4801d698c8792dd68923"
      ],
      "author": {
        "name": "Aurimas Liutikas",
        "email": "aurimas@google.com",
        "time": "Tue Jan 22 13:46:19 2019 -0800"
      },
      "committer": {
        "name": "Aurimas Liutikas",
        "email": "aurimas@google.com",
        "time": "Tue Jan 22 13:48:47 2019 -0800"
      },
      "message": "Remove unused SleepUtils.\n\nThis looks like dead code not used by anything in the tree.\nIt was added in ag/603441\n\nTest: None\nChange-Id: Ic424a25794d7c45719fa4f554cbf4f4b74288065\n"
    },
    {
      "commit": "5cca8f250cd287d311b9e7b560a6c10fb909c6bc",
      "tree": "4de1ddaf1ac87b697327ac65cf2daf85d04989b5",
      "parents": [
        "6f19cbdd2f285a7d54ce7694488e307bbe26bfc9"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Dec 10 17:06:22 2018 -0800"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Tue Jan 22 13:13:06 2019 -0800"
      },
      "message": "Add continuous SKP capture test api\n\nBug: 122856066\nTest: PictureCaptureDemo\nChange-Id: Iaf3a4bc1c8a2c18c7dff635c5f1cf726b331f8bf\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": "869f706d863d54c34aca575cd2ce5115273ea5ef",
      "tree": "5a97d644d39df54128b488eee94430ca263eb92c",
      "parents": [
        "c2888cbc48c98297360356fa13ecdd9afe102ad9"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu Jan 10 12:24:15 2019 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Tue Jan 22 17:00:13 2019 +0000"
      },
      "message": "RollbackManager: Support userdata snapshot / restore.\n\nThe only significant missing piece of functionality is the\nhandling of credential encrypted data in the case where one\nor more users haven\u0027t unlocked their device. This will be handled\nin a follow-up change.\n\nBug: 112431924\nTest: atest RollbackTest\nChange-Id: I4582018337ce0344379f6f73d6fd6c9ce31c58a0\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": "43c0ffc1b1f723da1a4d8fc48fb8ee4ce6dcf7f9",
      "tree": "266c53c2dd250c8ddfb6f4d120e72a11b2f50439",
      "parents": [
        "f10038e9ca458f6baac405abb4750fe14c12755a",
        "5fb1be5c0bfe24196b009bd95ce577f697e0b74b"
      ],
      "author": {
        "name": "Pavel Grafov",
        "email": "pgrafov@google.com",
        "time": "Tue Jan 22 07:09:43 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jan 22 07:09:43 2019 -0800"
      },
      "message": "Merge \"Add API for VPN apps to query always-on and lockdown.\" am: 479c0769f1\nam: 5fb1be5c0b\n\nChange-Id: I48f3441f06af2a69776eacc5ee52463873739bdb\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": "f012b976f9fb423778182cbad3275c4a115c9fee",
      "tree": "4fd12de4fcf73a23453913b464ee10de513aa34e",
      "parents": [
        "c904972acd7624d1434852a10eb6efd5519dfc11",
        "b6eb7e19e2c309e6ffb8205c47e27604c9adf44e"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue Jan 22 05:34:33 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jan 22 05:34:33 2019 -0800"
      },
      "message": "Merge \"Remove InterfaceController dependency on NMS\" am: 06adb08d27\nam: b6eb7e19e2\n\nChange-Id: I432d8f625057a3e3e35e12910fc48319c723295e\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": "4293455fd124a2992d309ac6121b2104ff68473a",
      "tree": "df1846e21a30fbf0b8d0a2e5c9e30f31fc7ba6ff",
      "parents": [
        "0681b26d67df68824f258643634773629374565e",
        "563c5451874291e5b4d71aaa7dd336a02269930e"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue Jan 22 03:27:36 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jan 22 03:27:36 2019 -0800"
      },
      "message": "Merge \"Add LinkProps and NetworkCaps methods to SystemApi\" am: 4bde11491b\nam: 563c545187\n\nChange-Id: Ic15474fe0b7da8062114367ec4f692e30e73d549\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": "2f58858d1aae765ff62e0418622e9beb69973752",
      "tree": "5ad170e23e2b4e0c87cf4f95b85a3665f39974b6",
      "parents": [
        "cd2dc71a8ad9a101f70926486e6efafdbcccb4da",
        "2aa1bbe0183e9037b12d2f187211509d6699087c"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue Jan 22 00:18:58 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jan 22 00:18:58 2019 -0800"
      },
      "message": "Merge \"Add NetworkStack metrics to system API\" am: 8586a43f31\nam: 2aa1bbe018\n\nChange-Id: I8d711dcf76935d28d8a610d6a18da77cea77268e\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": "cd2dc71a8ad9a101f70926486e6efafdbcccb4da",
      "tree": "2eb41acc74e883e440145fc6be32244995150457",
      "parents": [
        "79489fa5426f98c14c41bc56eb4311edeb26210c",
        "3d7914e98bead1b4b24c47fb68f50a0558f9739e"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Mon Jan 21 23:31:02 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jan 21 23:31:02 2019 -0800"
      },
      "message": "Merge \"Fix lint errors for moving IpClient to NetworkStack\" am: 9325fbc4f8\nam: 3d7914e98b\n\nChange-Id: I5c9b6f7ea680b151d6ba87007ddc6da34036e256\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": "79489fa5426f98c14c41bc56eb4311edeb26210c",
      "tree": "67add81031e0160db27651c197ccc2325f0257b0",
      "parents": [
        "8718e42d68bf8cd5f26f857de40b211244feef91",
        "2f4c32bc50de19b347e9a9ff0d91c12595f7d856"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Mon Jan 21 22:50:47 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jan 21 22:50:47 2019 -0800"
      },
      "message": "Merge \"Properly expect all callbacks in testStackedLinkProperties.\" am: a1b2a93273\nam: 2f4c32bc50\n\nChange-Id: I9b066e4242d52f917e36a05911bdcd843c3f5c84\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": "a359fc39489aa79045fe20fd50a38a9f3625eae0",
      "tree": "edc6d40e52fa6888e92e40f267353199c14541c2",
      "parents": [
        "6134d99bce141d5acb839dd9df215e3757c2fe2b",
        "e89f53330a47e4c4f9e8474d9287f5b58563484d"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Mon Jan 21 17:32:12 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jan 21 17:32:12 2019 -0800"
      },
      "message": "Merge \"Add IIpClient API for IpClient\" am: 60b9ad2ec3\nam: e89f53330a\n\nChange-Id: I58d8725a1f43f42d364a53ca80d86e3f65e6cf63\n"
    },
    {
      "commit": "60b9ad2ec300c03fe09c0d695a0948f4363b6a26",
      "tree": "85de7ea40d363ad5754b98b763f43c7ae95e52c1",
      "parents": [
        "33a04d0ff9aebc49662d03c94af7a62abbbce9a7",
        "a5d31f53b67efe91da0911e792825020d16eb7bb"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue Jan 22 01:10:17 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jan 22 01:10:17 2019 +0000"
      },
      "message": "Merge \"Add IIpClient API for IpClient\""
    },
    {
      "commit": "7b84fb336f92c71fa4dd7a8bfe662966f954fa33",
      "tree": "6c45563fe34b84d5ba752e00e4ff50c239bc489d",
      "parents": [
        "1f4cce2f198308a0c8ee375503225ed1f6e1f2f4"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Sat Jan 19 21:13:24 2019 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Mon Jan 21 23:24:41 2019 +0000"
      },
      "message": "Add NetworkStack metrics to system API\n\nTest: atest FrameworksNetTests NetworkStackTests\nBug: 112869080\nChange-Id: Ie52c55f248c173e2a5ee603ecd004fbac9004ac1\n"
    },
    {
      "commit": "75437d2310cbb148c51fedee1ac833438d9cea34",
      "tree": "de8fdb42a107f28e12d027d47102e9332fc5b861",
      "parents": [
        "96892aae33e9a89a7cf4df1a9dfddc254754fa02",
        "39f2eb4abde9b7351de852249eb6bd4a70486725"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Mon Jan 21 11:28:55 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jan 21 11:28:55 2019 -0800"
      },
      "message": "Merge changes I2ddfef0c,I49bee0c9 am: ca046e898b am: a6109ea3a0\nam: 39f2eb4abd\n\nChange-Id: I369bf5d92a3f70e789043d33bcbc85099aebbb69\n"
    },
    {
      "commit": "96892aae33e9a89a7cf4df1a9dfddc254754fa02",
      "tree": "8f65eef49a08b5af35c1a1fdc78d417a2dbf18c9",
      "parents": [
        "9e83d5e2e8b5c60c77d396f948a94957a1b3b5a4",
        "bba39913f85cf698525e01b82b7cb2e2af6105d2"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Mon Jan 21 11:19:54 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jan 21 11:19:54 2019 -0800"
      },
      "message": "Merge \"Add stable AIDL parcelables for IIpClient API\" am: 7bf90a1f97 am: 4294a0f939\nam: bba39913f8\n\nChange-Id: Ieac619f043a7142cbbec3eaec334b7fac97ce7fc\n"
    },
    {
      "commit": "39f2eb4abde9b7351de852249eb6bd4a70486725",
      "tree": "f500c0624a24af59679aff985f98759b6255fd5e",
      "parents": [
        "bba39913f85cf698525e01b82b7cb2e2af6105d2",
        "a6109ea3a0974db0ac4108e8e15fd31869ec2239"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Mon Jan 21 11:18:35 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jan 21 11:18:35 2019 -0800"
      },
      "message": "Merge changes I2ddfef0c,I49bee0c9 am: ca046e898b\nam: a6109ea3a0\n\nChange-Id: I552730badc910df5f5a48c2ded6566071b604783\n"
    },
    {
      "commit": "bba39913f85cf698525e01b82b7cb2e2af6105d2",
      "tree": "aca4614e9c4b9583db14aef5804ca01dfcf46b32",
      "parents": [
        "66932e3e49e180729a3d0204796999441cd3d1bd",
        "4294a0f939c5a934ef05814eb05b3f93adb65368"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Mon Jan 21 11:09:28 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jan 21 11:09:28 2019 -0800"
      },
      "message": "Merge \"Add stable AIDL parcelables for IIpClient API\" am: 7bf90a1f97\nam: 4294a0f939\n\nChange-Id: Ifae5ae9e6e396452ce4c432d8aa613d03ba59824\n"
    },
    {
      "commit": "cb3b895f1d3ec9d9ee1631b363487104f728f57e",
      "tree": "fbb4da09b9697b4e2e305e75ca427749b591e4e8",
      "parents": [
        "9bc4066ba354a71644b108c3e158a7e570b93b38"
      ],
      "author": {
        "name": "Pavel Grafov",
        "email": "pgrafov@google.com",
        "time": "Fri Dec 14 13:51:07 2018 +0000"
      },
      "committer": {
        "name": "Pavel Grafov",
        "email": "pgrafov@google.com",
        "time": "Mon Jan 21 13:48:45 2019 +0000"
      },
      "message": "Add API for VPN apps to query always-on and lockdown.\n\nTest: atest MixedDeviceOwnerTest#testAlwaysOnVpn\nBug: 72628179\nChange-Id: I73cb0888f7049b12ab0cdfa62678c3846e074d3b\n"
    },
    {
      "commit": "e9d3314dc94d20539e45d952b31531e312bb86b3",
      "tree": "581f9445d4de2e1a6c58daafcbf89c4bc232a8ba",
      "parents": [
        "6fee8818700e435c5c4f8aa590259af4dd9e3eae"
      ],
      "author": {
        "name": "Alan Stokes",
        "email": "alanstokes@google.com",
        "time": "Wed Dec 19 09:31:21 2018 +0000"
      },
      "committer": {
        "name": "Alan Stokes",
        "email": "alanstokes@google.com",
        "time": "Mon Jan 21 11:58:31 2019 +0000"
      },
      "message": "Add logging of dynamic loading of native code.\n\nThis uses the SELinux audit messages generated when an untrusted app,\ntargeting SDK 28 or lower, executes native code from an app data\ndirectory. \"Executes\" here covers memory mapping a file with execute\npermission (including using dl_open) or calling execve.\n\nAs with dynamic loading of DEX code we write a hash of the contents of\nthe file executed to the event log.\n\nThe existing unit and integration tests are extended to verify the new\nbehaviour.\n\nBug: 111338677\nTest: atest -p services/core/java/com/android/server/pm/dex\n\nChange-Id: Ifbb3b338135db413be2cd83b1a8e7499d61d88dd\n"
    },
    {
      "commit": "ca046e898b500c48b5e5412d49bf4f51aa637d98",
      "tree": "4fc6107978266607978840822f62f489cad1ce4b",
      "parents": [
        "7bf90a1f97080ac56db44374035a97ebd2737366",
        "bf73e66d4db7e2cd235017333260ee2fdceea5ee"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Mon Jan 21 09:34:41 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jan 21 09:34:41 2019 +0000"
      },
      "message": "Merge changes I2ddfef0c,I49bee0c9\n\n* changes:\n  [MS08] Read back attributes and blobs.\n  [MS07] Implement storeNetworkAttributes and storeBlob.\n"
    },
    {
      "commit": "a5d31f53b67efe91da0911e792825020d16eb7bb",
      "tree": "b6e060e2e76c20342e1f1bf4dc9a3201ba1b9ead",
      "parents": [
        "6b0b2b735eb42f87319a91cc7822e78ce2296186"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Sat Jan 12 15:36:47 2019 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Mon Jan 21 18:25:46 2019 +0900"
      },
      "message": "Add IIpClient API for IpClient\n\nThe API will be used to interact with IpClient once it is moved to the\nNetworkStack process.\nThis change keeps compatibility with the previous API so that clients\ncan be migrated independently.\n\nTest: atest FrameworksNetTests NetworkStackTests\nBug: b/112869080\nChange-Id: I57d8164afae849230bbc0e25f17859c0b22d0f29\n"
    },
    {
      "commit": "bf73e66d4db7e2cd235017333260ee2fdceea5ee",
      "tree": "d1f92c3215c276ce5e4df17f4fd595bf88678eb6",
      "parents": [
        "91549b6d1be1e0d8d0deb9da45050eb76165a39d"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Thu Dec 27 20:59:41 2018 +0900"
      },
      "committer": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Mon Jan 21 15:21:09 2019 +0900"
      },
      "message": "[MS08] Read back attributes and blobs.\n\nTest: New tests in IpMemoryStore\nBug: 113554482\n\nChange-Id: I2ddfef0c2ed37459c038f75d1dfc92fdefbf58f5\n"
    },
    {
      "commit": "91549b6d1be1e0d8d0deb9da45050eb76165a39d",
      "tree": "26b587a60864fa43024d6516aa779ddc73fe5cd4",
      "parents": [
        "db4ce8705911e36a36f0a2f36b8bf9e04d78a2d3"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Tue Dec 18 22:05:19 2018 +0900"
      },
      "committer": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Mon Jan 21 15:21:09 2019 +0900"
      },
      "message": "[MS07] Implement storeNetworkAttributes and storeBlob.\n\nTest: New tests in IpMemoryStore\nBug: 113554482\n\nChange-Id: I49bee0c903247e77ab93517efbe44548313cf1a4\n"
    },
    {
      "commit": "6b0b2b735eb42f87319a91cc7822e78ce2296186",
      "tree": "b6b0c9e6f400f3306c52b4f40c9fa02c81b33e3a",
      "parents": [
        "1f4cce2f198308a0c8ee375503225ed1f6e1f2f4"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri Jan 18 18:49:16 2019 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Mon Jan 21 12:54:24 2019 +0900"
      },
      "message": "Add stable AIDL parcelables for IIpClient API\n\nTest: atest FrameworksNetTests NetworkStackTests\nBug: b/112869080\nChange-Id: Ia4ac1eb482850a06c4dc1b6c1fe55d33d4087388\n"
    },
    {
      "commit": "6c0f11310a31ee5003705b6bddd2d258cb9bc2d6",
      "tree": "a25af89b17499cba16188ba5c5d0dfc6a17fb818",
      "parents": [
        "e62055462ce457770aa2994a31b783c0e87d1954",
        "3b3a1c8622ca3f6c300e5f1e4ff73ee017bd8b23"
      ],
      "author": {
        "name": "Suren Baghdasaryan",
        "email": "surenb@google.com",
        "time": "Sat Jan 19 00:39:13 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jan 19 00:39:13 2019 +0000"
      },
      "message": "Merge \"Add libprocessgroup dependency\""
    },
    {
      "commit": "d9e487b4e99b1ecc94729ad737e75d99c1a3c4f5",
      "tree": "8dc3b2b4645fd7830a042f2f359de1c358033c40",
      "parents": [
        "97d882e19a65b3771df728ef35ff956b1ee969de",
        "35ddfca938b6abbbfc89070e89dd563cfd9628bd"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Fri Jan 18 15:57:06 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jan 18 15:57:06 2019 -0800"
      },
      "message": "Merge \"Avoid calling ParcelFileDescriptor.fromSocket on new Sockets.\" am: 35c5160492 am: e7ca44fd49\nam: 35ddfca938\n\nChange-Id: I34e6480f42957da27aeb6f8ccc6bd91d2304e590\n"
    },
    {
      "commit": "35ddfca938b6abbbfc89070e89dd563cfd9628bd",
      "tree": "9e671da26d3c18aa54186cc8290ec6620a68db92",
      "parents": [
        "ba815689e1ab8ddce294c6b97f4d4a0e691da992",
        "e7ca44fd490fc81a76cf061698dab32e2b7f2b0e"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Fri Jan 18 15:27:33 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jan 18 15:27:33 2019 -0800"
      },
      "message": "Merge \"Avoid calling ParcelFileDescriptor.fromSocket on new Sockets.\" am: 35c5160492\nam: e7ca44fd49\n\nChange-Id: I928a47f677cc882ee816b6fa8afb41ead2729466\n"
    },
    {
      "commit": "35c516049208620a19384585429d947bb95eb91b",
      "tree": "858d3026edfc9ee98ff4891b3fc4b828556d644f",
      "parents": [
        "f2c0f4aadf3d063122d6ef9eac4c9c0e76913de8",
        "42bd8e1ec05dd11a7838ff37345ff1d6be77641b"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Fri Jan 18 22:25:35 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 18 22:25:35 2019 +0000"
      },
      "message": "Merge \"Avoid calling ParcelFileDescriptor.fromSocket on new Sockets.\""
    },
    {
      "commit": "a72eb474e908748848d129e6a2653081fc471f14",
      "tree": "8dcad53a10720db13936119acde4f2d165a256bd",
      "parents": [
        "86f533b473ee070c28fb02d617ba2e4aec86f0f9",
        "31bc9606ddee42c1296cf376f8139f1010d66c47"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Fri Jan 18 09:23:55 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 18 09:23:55 2019 +0000"
      },
      "message": "Merge \"Improve test coverage of rollback data persistence.\""
    },
    {
      "commit": "8945e2e33c16ad72f8450072b724a07499d08ff8",
      "tree": "0e5efc65b2d5966651baf242ab9370dfe7efd1ec",
      "parents": [
        "3c3f264c7f62fddf96ccacb07bbdb7d2075e3d9d",
        "82083c8a154c770d3f89c5fff7cd7d0eba4313e6"
      ],
      "author": {
        "name": "Etan Cohen",
        "email": "etancohen@google.com",
        "time": "Thu Jan 17 21:33:27 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jan 17 21:33:27 2019 -0800"
      },
      "message": "Merge \"[CS] Add an option to block sensitive network specifier\" am: 895ef965f5 am: 787525e951\nam: 82083c8a15\n\nChange-Id: I17fba0e9c0314b32597ccdc1ac6de61ca796e9b8\n"
    },
    {
      "commit": "82083c8a154c770d3f89c5fff7cd7d0eba4313e6",
      "tree": "fde8db904f61aea9eb9aeaca224222cb889544e5",
      "parents": [
        "ae71ccdda90992bb7c52b0bb2e224fcd18b45fb4",
        "787525e951490bf81e8a06ae5261da189589904e"
      ],
      "author": {
        "name": "Etan Cohen",
        "email": "etancohen@google.com",
        "time": "Thu Jan 17 21:24:03 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jan 17 21:24:03 2019 -0800"
      },
      "message": "Merge \"[CS] Add an option to block sensitive network specifier\" am: 895ef965f5\nam: 787525e951\n\nChange-Id: I64f17aebbfe1820b42aa33b487b17e65ba734ab3\n"
    },
    {
      "commit": "3b3a1c8622ca3f6c300e5f1e4ff73ee017bd8b23",
      "tree": "fa0b0124742e48ae729a9b9fc4af21f3b01ca42e",
      "parents": [
        "f6c9f3a9159864bf48fa65043986aa83886fdcf2"
      ],
      "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": "Fri Jan 18 02:27:46 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\nChange-Id: Ia8bc5b447efa568fd1c822746919fa1496cc42a6\nSigned-off-by: Suren Baghdasaryan \u003csurenb@google.com\u003e\n"
    },
    {
      "commit": "836ad571eb22d3758a84fb1e2fab812c418f9f8f",
      "tree": "29e147c7360a204df7012436ae7b3e909f71f7cc",
      "parents": [
        "1ff7bdb095e930b6e3108e2ca88a610852fdcd74"
      ],
      "author": {
        "name": "Etan Cohen",
        "email": "etancohen@google.com",
        "time": "Sun Dec 30 17:59:59 2018 -0800"
      },
      "committer": {
        "name": "Etan Cohen",
        "email": "etancohen@google.com",
        "time": "Thu Jan 17 16:30:05 2019 -0800"
      },
      "message": "[CS] Add an option to block sensitive network specifier\n\nNetwork specifiers are used for 2 purposes:\n\n- As part of network requests to specify more information on the type\n  of requested networks.\n- On network agents to specify information about their networks.\n\nThe network specifiers of the requests and agents are matched to each\nother. However, the agent network specifier may contain sensitive\ninformation which we do not want forwarded to any app.\n\nThis CL adds an option to strip out this agent network specifier before\nthe network capabilities are forwarded to the app.\n\nBug: 122160111\nTest: atest ConnectivityServiceTest (frameworks/base/tests/net)\nTest: atest frameworks/base/tests/net\nTest: atest frameworks/opt/net/wifi/tests/wifitests\nTest: atest frameworks/opt/telephony/tests/telephonytests\nTest: atest frameworks/opt/net/ethernet/tests\nTest: atest android.net.cts - some flakiness!\nTest: act.py ThroughputTest\nTest: act.py DataPathTest\nTest: atest SingleDeviceTest (cts)\nChange-Id: If08d312ff814bdde1147518f923199e6349503d5\n"
    }
  ],
  "next": "b8de995291f56879343123f949da80ef98786002"
}
