)]}'
{
  "log": [
    {
      "commit": "9f7dba61559a1f17a51511a7d24b86bab473d380",
      "tree": "2da85dbe9c073c820b345bc27f986a9467a59560",
      "parents": [
        "0444bcc6d40acd51c384dfa823c743b0c4e1e608",
        "d3538564e599dda0cb32d0e626bbf2285f5b52da"
      ],
      "author": {
        "name": "Michael Wachenschwanz",
        "email": "mwachens@google.com",
        "time": "Wed Apr 10 21:30:49 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 10 21:30:49 2019 +0000"
      },
      "message": "Merge \"Remove Test Api annotation from ProtoInputStream\" into qt-dev"
    },
    {
      "commit": "610eed67b6d1a8dacd96be03c49227915cc22cb5",
      "tree": "d0253bd23d9dcd4b25d4b42ca0c4a20756b5fe78",
      "parents": [
        "f746b4b4850eeb45cb64910e72fe45e37534c944",
        "f846efc286a58a6afd617bec93d87af22f4dbf09"
      ],
      "author": {
        "name": "Benedict Wong",
        "email": "benedictwong@google.com",
        "time": "Wed Apr 10 17:07:02 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 10 17:07:02 2019 +0000"
      },
      "message": "Merge \"Fix remove-before-add for IpSecService RefcountedResource\" into qt-dev"
    },
    {
      "commit": "bd92d1539f29c0e7082756dcc0481e67a4079e62",
      "tree": "4ba318964150fd58ecdb614c39547cd5c48a76d6",
      "parents": [
        "c8d2c7172369638a10f0538db29e64371ae19034"
      ],
      "author": {
        "name": "Chiachang Wang",
        "email": "chiachangwang@google.com",
        "time": "Tue Apr 09 23:24:41 2019 -0700"
      },
      "committer": {
        "name": "Chiachang Wang",
        "email": "chiachangwang@google.com",
        "time": "Wed Apr 10 06:36:55 2019 +0000"
      },
      "message": "Enforce NETWORK_STACK permission for calling NSS#forceUpdateIfaces\n\nConnectivityManager and its usages are removed from\nNetworkStatsService. After that, forceUpdateIfaces requires\ninformation that only ConnectivityService has, hence\nrestricting the calling permission to NETWORK_STACK or\nMAINLINE_NETWORK_STACK permission. The required permission\nwill be changed from READ_NETWORK_USAGE_HISTORY to\nNETWORK_STACK or MAINLINE_NETWORK_STACK. This change would make\nit impossible to call outside the system.\n\nBug: 126830974\nTest: atest FrameworksNetTests\nMerged-In: I1b26dc64eaab2151e6885fd01cc5e8d4e18c4e60\nChange-Id: I4ea421e4126a45f65d25fe0bec74243a3b20aeab\n(cherry picked from commit 6b895dea25b4fca87d275bb78367411623ded1d4)\n"
    },
    {
      "commit": "f846efc286a58a6afd617bec93d87af22f4dbf09",
      "tree": "2f4ee44eeac817faec4a8396ff5169834655eb7d",
      "parents": [
        "4244434bebc7930f502bda73028ce414d51e5bb8"
      ],
      "author": {
        "name": "Benedict Wong",
        "email": "benedictwong@google.com",
        "time": "Tue Apr 09 11:31:46 2019 -0700"
      },
      "committer": {
        "name": "Benedict Wong",
        "email": "benedictwong@google.com",
        "time": "Tue Apr 09 21:37:26 2019 +0000"
      },
      "message": "Fix remove-before-add for IpSecService RefcountedResource\n\nThis patch fixes a bug where if a binder dies before the linkToDeath\ncall, the cleanup will be performed before the entry is added to the\narray. While it is safe in that quotas and tracking performs as per\nnormal, the RefcountedRecord may not be cleaned up.\n\nRethrowing this exception is safe, since the only paths that would hit\nthis are all on binder threads coming from applications. Further, it\nseems there is only one real way of this getting hit - if the app that\ncalled the creation died during the binder call.\n\nBug: 126802451\nTest: Compiled, CTS tests passing\nChange-Id: Ib955acaa5e498c0e977cb5f2e48cffbc9fea8c7c\nMerged-In: I6db75853da9f29e1573512e26351623f22770c5d\nMerged-In: I416c2e43961ec0e1cc6b2fbcef970fbce858603b\nMerged-In: Ib955acaa5e498c0e977cb5f2e48cffbc9fea8c7c\n(cherry picked from commit 6c089d90bfa728e9842de0f5947f0c557c62dea0)\n"
    },
    {
      "commit": "634dff01cb545b0c4eb3f48ac3aba2fb31c50fdc",
      "tree": "f55841e302499e522f2da9addfb72b92c60892fc",
      "parents": [
        "8d994400b5f24062a10c26bb3fa53bbf615bc0f1",
        "f0d45503bc402c8dbfaa866c652d901c1bfd115a"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 09 09:15:02 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 09 09:15:02 2019 +0000"
      },
      "message": "Merge \"Fix flaky UdpEncapsulationSocket test\" into qt-dev"
    },
    {
      "commit": "f0d45503bc402c8dbfaa866c652d901c1bfd115a",
      "tree": "326553a00ceceeb709309c2f7c8270e4a6e0825e",
      "parents": [
        "16f682cac6840e6fd760cd3a076a36c46042cf6c"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Thu Apr 04 09:18:29 2019 -0700"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Tue Apr 09 06:44:32 2019 +0000"
      },
      "message": "Fix flaky UdpEncapsulationSocket test\n\nThis commit reduces the flakiness of the\ntestOpenAndCloseUdpEncapsulationSocket by retrying up to three times.\nUnfortunately, testing port-selected socket creation is racy against\nother applications. This helps to handle the same race condition as done\nin IpSecService#bindToRandomPort\n\nBug: 128024100\nTest: 200x runs of testOpenAndCloseUdpEncapsulationSocket\nChange-Id: I7e036ce821019dbac6c50899bd0894e89d2fe82a\nMerged-In: Idf040a67e53d9b9ec6e6c647ce24f8ada501d355\nMerged-In: Iad9aea4b42cd8b31a5a2659bb9cb54dd1c64e8b7\n(cherry picked from commit 614ab3dd4e49e9b664f5065983fb9067148fef12)\n"
    },
    {
      "commit": "b878dff8490968c994bc6ad4eb5988886d3c2c36",
      "tree": "d010135e1d07c990b2cb84c73b648be610810926",
      "parents": [
        "db54f466410bcc8c8e7278e683011d04453af52e"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Mon Apr 08 12:31:01 2019 -0700"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Tue Apr 09 06:40:07 2019 +0000"
      },
      "message": "Disable InetDiagSocketTest in a better way.\n\nTest: treehugger\nBug: 124354087\nBug: 128024100\nChange-Id: I3048625a2507e70402ce376e7208f58cdf5ddfba\nMerged-In: I3d8cebec00dde7d0b61469f36887cd5afface043\nMerged-In: I1fcb9ca292777fb017e9108a3e12cffba87e1985\n(cherry picked from commit 2373c8a129feb562a7893722b9ffa0bf905a4472)\n"
    },
    {
      "commit": "db54f466410bcc8c8e7278e683011d04453af52e",
      "tree": "d8ee4967bdd37b4ec3ad78b948a0d099d0c783dc",
      "parents": [
        "16f682cac6840e6fd760cd3a076a36c46042cf6c"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Thu Apr 04 01:51:30 2019 -0700"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Tue Apr 09 06:38:08 2019 +0000"
      },
      "message": "Temporarily disable InetDiagSocketTest.\n\nThis test is too flaky to run in presubmits.\n\nBug: 124354087\nTest: atest InetDiagSocketTest\nChange-Id: I90bc52a6f5b92d634862e3464634dfdbd3cada6a\nMerged-In: Ic580b9261e0d556ec10f92ddffd8f2766e25f424\nMerged-In: Ide5ac3f5316c4671b17fb9486ac56fc5feaf7b08\n(cherry picked from commit fdc03bab0be653e1f64e51adb6449f34d795ef6a)\n"
    },
    {
      "commit": "e945aa8ba18233dd7c6a3df82f9798f22e599936",
      "tree": "ced78b596f3e485d2c51987cc1c9ac07d1becda6",
      "parents": [
        "66846fe8258841979f19412647608b000e257490",
        "7aea73b8826eef8cb4aca56ccf5a69023cccf1ef"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue Apr 09 05:16:29 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 09 05:16:29 2019 +0000"
      },
      "message": "Merge \"Add common tests for FrameworksBaseTests and CTS\" into qt-dev"
    },
    {
      "commit": "15777f204d8a3a12f8625a0a7fa8cdf444df7d83",
      "tree": "0922da71f00b4df1b5d0e54441fcf126755ae992",
      "parents": [
        "a39c85fc2b563e628a4fd197b4a8b0d0ba86ec43",
        "e602db5fb94b6952346290847af96ceef8f0c811"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Apr 08 17:08:54 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 08 17:08:54 2019 +0000"
      },
      "message": "Merge changes Ic4eb56fc,I7ba66213,I4b4dba44 into qt-dev\n\n* changes:\n  WifiScannerTest: More unit tests\n  WifiScannerTest: Add unit tests\n  WifiManagerTest: Add unit tests\n"
    },
    {
      "commit": "7c6c28f18b81340f6ff79321c92259e95ccf4677",
      "tree": "72f908249b49f4df3dbea2c3a2a87135c48e8ef7",
      "parents": [
        "e0283ded0a7b2a2010f614943f939e1adc81ebeb"
      ],
      "author": {
        "name": "Zimuzo",
        "email": "zezeozue@google.com",
        "time": "Fri Apr 05 12:03:10 2019 +0100"
      },
      "committer": {
        "name": "Zimuzo",
        "email": "zezeozue@google.com",
        "time": "Mon Apr 08 11:33:14 2019 +0100"
      },
      "message": "Allow different explicit health and package expiry timeouts\n\nWe have always evaluated the explicit health check results on package\nexpiry. Since I29e2d619a5296716c29893ab3aa2f35f69bfb4d7 we now receive\nexplicit health check timeouts from ExtServices. This cl doesn\u0027t yet\nuse the timeout but it treats explicit health check timeouts as\ndifferent events from package expiry. This is in preparation to use\nthe timeouts from the cl mentioned above.\n\nImproved readability: Logging, comments, variable and function names\n\nBug: 120598832\nTest: atest PackageWatchdogTest\nChange-Id: I8030dae1fef5b8fee42095c1eaf16861cc33ac59\n"
    },
    {
      "commit": "e602db5fb94b6952346290847af96ceef8f0c811",
      "tree": "cef359f624da08a2edd82f11b25156a0455c53d6",
      "parents": [
        "35b304d2ffd089cc4334cd200ad9ce7b92955671"
      ],
      "author": {
        "name": "Roshan Pius",
        "email": "rpius@google.com",
        "time": "Fri Apr 05 13:11:28 2019 -0700"
      },
      "committer": {
        "name": "Roshan Pius",
        "email": "rpius@google.com",
        "time": "Fri Apr 05 15:16:56 2019 -0700"
      },
      "message": "WifiScannerTest: More unit tests\n\nBug: 130035791\nTest: ./frameworks/base/wifi/tests/runtests.sh\nChange-Id: Ic4eb56fc3ba6bffd3df529432d17af0ba35b6333\n"
    },
    {
      "commit": "7aea73b8826eef8cb4aca56ccf5a69023cccf1ef",
      "tree": "60d6ad5d117f90c2b9014e82cfdf408023a6354e",
      "parents": [
        "442a4e7b163fdb72fcd3ff4253a0d3e8511d1b7c"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Thu Apr 04 09:47:10 2019 -0700"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri Apr 05 05:52:03 2019 +0000"
      },
      "message": "Add common tests for FrameworksBaseTests and CTS\n\nThe common package covers tests that should be included both in CTS and\nunit tests.\n\nTest: atest FrameworksBaseTests\nBug: 129199908\nChange-Id: Ic78ff947250871fa773252c924f1dee9395c6074\n(cherry picked from commit 054e3e0f5ebfffe5d9fdd0095abac309552ae0cd)\n"
    },
    {
      "commit": "cb148b2ce07e91b4b3b1a6b55f84584bb3cbb1a8",
      "tree": "c9dfc8db1ff9b317d0ef338d9edbe70d8d86fd27",
      "parents": [
        "fd33fe0e8a9084cb9cc427c3aa9453bdcb4a38c7"
      ],
      "author": {
        "name": "Zimuzo",
        "email": "zezeozue@google.com",
        "time": "Mon Apr 01 18:54:17 2019 +0100"
      },
      "committer": {
        "name": "Zimuzo Ezeozue",
        "email": "zezeozue@google.com",
        "time": "Thu Apr 04 23:26:49 2019 +0000"
      },
      "message": "Refactor PackageWatchdog explicit health checks\n\nImprovements:\n\n1. Queuing PackageWatchdog requests to startObserving packages:\nWhen observing packages with the watchdog, we needed to get\nthe packages supporting explicit health checks so we can decide if a\npackage should be passing or not. This prevents us from receiving\nrequests to monitor packages during early boot, before third party\npackages are ready. In this change we don\u0027t depend on ExtServices to\nbe up to startObserving, we initially treat all package as failing a\nhealth check and lazily syncRequests to request or cancel explicit\nhealth checks based on the currently observed packages. When we receive\nonSupportedPackages, we mark the packages that don\u0027t support health\nchecks as passing.\n\n2. Lazy binding to the explicit health check service:\nWe were always bound to the explicit health check\nservice regardless of whether we are expecting requests or not, we need\nto be able to bind and unbind dynamically to improve device resource\nusage. In this change, we bind as soon as we make a request and are\nexpecting results, we unbind otherwise.\n\n3. Fixed Races:\nThere were a couple of potential races that could lead to exceptions\nthat could bring the system server down, e.g when the service is\ntransitioning between disconnected and connected state (maybe it\ncrashed) or when ExtServices is being upated and is down or early\nboot requests when third party apps are not ready. This change fixes such.\n\n4. Logging:\nWe improved the logging wording and order and made it more consistent\n\nBug: 120598832\nTest: Manual tests. Stress tested behavior by killing extservices and\nmaking requests simultaneously\n\nfunction killproc {\n    while true\n    do\n        local pid\u003d$(adb shell pidof $1)\n        if [[ ! -z $pid ]]\n        then\n            echo $pid\n            adb shell kill $pid\n        fi\n    done;\n}\n\nadb install-multi-package -i com.android.shell --enable-rollback \\\nNetworkStack.apk ModuleMetadataGoogle.apk\n\nAlso switched between enabled and disabled states to verify packages\nare handled correctly. Will automate these tests in later cl\n\natest PackageWatchdogTest\nChange-Id: Iafaef553e95d107f700109f9a8328950a5e2bf71\n"
    },
    {
      "commit": "d3538564e599dda0cb32d0e626bbf2285f5b52da",
      "tree": "e96e858a0fe6e80c8788224f650a2b011c0c9e70",
      "parents": [
        "dd07ae579c291a2b6ffe09bd576fd908eb9e5ddd"
      ],
      "author": {
        "name": "Michael Wachenschwanz",
        "email": "mwachens@google.com",
        "time": "Thu Mar 14 12:02:50 2019 -0700"
      },
      "committer": {
        "name": "Michael Wachenschwanz",
        "email": "mwachens@google.com",
        "time": "Thu Apr 04 20:23:29 2019 +0000"
      },
      "message": "Remove Test Api annotation from ProtoInputStream\n\nAlso move cts tests to unit tests\n\nTest: atest ProtoInputStreamTests\nFixes: 115635242\nChange-Id: I9aff1227328aad6ec2bec3471f73ae90293a028d\n"
    },
    {
      "commit": "259c73c00704a48fe25505546ce4f721eb40de9b",
      "tree": "d943893bde9197a3105dd98131f9633709df5c4b",
      "parents": [
        "d7ffb21343d0ecb3b13ea876958891d3d66b5017",
        "061cec7755075037549fb9b322baf9e9cab1665d"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Apr 03 23:44:26 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 03 23:44:26 2019 +0000"
      },
      "message": "Merge \"Move NetworkStatsFactory into service directory\""
    },
    {
      "commit": "061cec7755075037549fb9b322baf9e9cab1665d",
      "tree": "4a43925f9b82494441ca617226b9798696eee46a",
      "parents": [
        "b00f655fc260cdc92c92ea5a94d07034a042b8be"
      ],
      "author": {
        "name": "Chenbo Feng",
        "email": "fengc@google.com",
        "time": "Fri Mar 01 15:07:24 2019 -0800"
      },
      "committer": {
        "name": "Chenbo Feng",
        "email": "fengc@google.com",
        "time": "Wed Apr 03 14:28:41 2019 -0700"
      },
      "message": "Move NetworkStatsFactory into service directory\n\nIn order to notify netd to swap eBPF maps before pulling the\nnetworkStats from eBPF maps, NetworkStatsFactory need to use the\nNetdServices to issue binder calls. So it need to be moved from\nframework/base/core to framework/base/service since object in\nframework/base/core cannot get any system services. This change is also\nnecessary for setting up a lock inside NetworkStatsFactory to prevent\nracing between two netstats caller since the lock need to be hold before\nnetd trigger the map swap.\n\nAlso fix the compile problem caused by moving the NetworkStatsFactory\nand the related tests. Rename the packages and the jni functions to a\nmore proper name.\n\nBug: 124764595\nBug: 128900919\nTest: NetworkStatsFactoryTest\n      android.app.usage.cts.NetworkUsageStatsTest\n      android.net.cts.TrafficStatsTest\n\nChange-Id: Ifcfe4df81caf8ede2e4e66a76552cb3200378fa8\n"
    },
    {
      "commit": "da0e27e7e4aede3caf0e0f569843d48f8d08203b",
      "tree": "1c8ab03b748c68a15c09f7f8696081da8252b9eb",
      "parents": [
        "3a333d5130ac789437653d7b0e9298f7e26e4321",
        "943e7405f23d8ce4ab937a9bdfbbd74bf3a8b087"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Wed Apr 03 19:58:46 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 03 19:58:46 2019 +0000"
      },
      "message": "Merge \"Straighten AIDL interface for the memory store\""
    },
    {
      "commit": "4fe8600cb3b1dddb226dd2b397ac0e75324ad90d",
      "tree": "a786da59e2d5a463107dda886d69610365f461cd",
      "parents": [
        "719082db6892f2d43e95b24d74d9881123055fd8",
        "16ee7a1be49f723f2af89b60dade4b911b3d0505"
      ],
      "author": {
        "name": "Chenbo Feng",
        "email": "fengc@google.com",
        "time": "Wed Apr 03 11:03:32 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Apr 03 11:03:32 2019 -0700"
      },
      "message": "Merge \"Clean up permissions when uids are no longer used\" am: 7754d368f4 am: ecb28c1948\nam: 16ee7a1be4\n\nChange-Id: I7773132d11d6225eac91ab2fee1043159c295d83\n"
    },
    {
      "commit": "16ee7a1be49f723f2af89b60dade4b911b3d0505",
      "tree": "ede4e75e53547b53377c03f9ced02b0a2c311424",
      "parents": [
        "6277c39b0ed061beac01e94cdbd19a7bce469439",
        "ecb28c1948f5a46346782dca3467b5f2f010d87a"
      ],
      "author": {
        "name": "Chenbo Feng",
        "email": "fengc@google.com",
        "time": "Wed Apr 03 10:50:39 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Apr 03 10:50:39 2019 -0700"
      },
      "message": "Merge \"Clean up permissions when uids are no longer used\" am: 7754d368f4\nam: ecb28c1948\n\nChange-Id: I256ca6f16ea1fcd240a1b7cd2b3199d4504e6c33\n"
    },
    {
      "commit": "7754d368f4df84563996d3715b5b7213220c6252",
      "tree": "cf3cb8d0332593718d518effd8f1cb32b87a686c",
      "parents": [
        "16749ac83ef06f53379fb996a6b244ee2fd84090",
        "a6817cd532d7036a2ec794f124368de94bf18621"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Apr 03 17:15:48 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 03 17:15:48 2019 +0000"
      },
      "message": "Merge \"Clean up permissions when uids are no longer used\""
    },
    {
      "commit": "ed194a33e05adabe6d159001f289f0c50ea8e6b8",
      "tree": "6bc0b4a0b958c04c95d68b41585fc8f54e0c0f43",
      "parents": [
        "62e98c42e3d793b81b15357e54b229c656b0b89a",
        "9d4a2a27e6c1a4ba227751a59da08f4f7bbb03d5"
      ],
      "author": {
        "name": "Mark Chien",
        "email": "markchien@google.com",
        "time": "Wed Apr 03 03:54:42 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Apr 03 03:54:42 2019 -0700"
      },
      "message": "Merge \"Some cleanups for Tethering\" am: 31b33b6f41 am: 5dff3c98c5\nam: 9d4a2a27e6\n\nChange-Id: I0f5c8f33f13dfa2366992a2b2e0ada7667b90e2f\n"
    },
    {
      "commit": "9d4a2a27e6c1a4ba227751a59da08f4f7bbb03d5",
      "tree": "cbf408284924f50236148e4d059f070a6b6a17c6",
      "parents": [
        "f51cadfad5ec833a48b40c961b06fcd50a518e46",
        "5dff3c98c5099ecd5205ed0bb9715e953ee023da"
      ],
      "author": {
        "name": "Mark Chien",
        "email": "markchien@google.com",
        "time": "Wed Apr 03 03:45:05 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Apr 03 03:45:05 2019 -0700"
      },
      "message": "Merge \"Some cleanups for Tethering\" am: 31b33b6f41\nam: 5dff3c98c5\n\nChange-Id: I0e00187f9a5eee9e55f961ce0458c9b91af19fb7\n"
    },
    {
      "commit": "31b33b6f41c471898f317dbb3dbb7eaf3e58a8ca",
      "tree": "8c565b1dadee24967fa6369d8144e98d721e0041",
      "parents": [
        "75a76da717d70ca8d56cb015881fbe2cd0424008",
        "9f246bd9e34b650b98abc03d3acd1b1bf49c2393"
      ],
      "author": {
        "name": "Mark Chien",
        "email": "markchien@google.com",
        "time": "Wed Apr 03 10:16:25 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 03 10:16:25 2019 +0000"
      },
      "message": "Merge \"Some cleanups for Tethering\""
    },
    {
      "commit": "6cb1a0adcc2ea37684db8c171af3e5402522bc92",
      "tree": "f64d3bf4bfb6a523f1923613971dd897166793cc",
      "parents": [
        "94fda28a6b995c0f143f3e920eea07370eb2e0bc",
        "18758e9f90a4e284a47bef2af8a38a598e4b35c5"
      ],
      "author": {
        "name": "Chenbo Feng",
        "email": "fengc@google.com",
        "time": "Wed Apr 03 02:19:30 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Apr 03 02:19:30 2019 -0700"
      },
      "message": "Merge \"Add tests for PermissionMonitor\" am: a84cdf4fc6 am: b9ee567881\nam: 18758e9f90\n\nChange-Id: Ifcb29bfded1b1675231c397ed886506a70267279\n"
    },
    {
      "commit": "18758e9f90a4e284a47bef2af8a38a598e4b35c5",
      "tree": "3c5a8b82171efbbf92e5437a0761ce0a6790dfc0",
      "parents": [
        "a4d0bd441cfcbbe91f68a2865ca94184d960318c",
        "b9ee56788156c5963796ae0ad0e53b6674ef0ffb"
      ],
      "author": {
        "name": "Chenbo Feng",
        "email": "fengc@google.com",
        "time": "Wed Apr 03 02:05:07 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Apr 03 02:05:07 2019 -0700"
      },
      "message": "Merge \"Add tests for PermissionMonitor\" am: a84cdf4fc6\nam: b9ee567881\n\nChange-Id: I9be22991bd590a7aee4d0a4b2908e0023870d0b6\n"
    },
    {
      "commit": "943e7405f23d8ce4ab937a9bdfbbd74bf3a8b087",
      "tree": "2d1e3e7816316676a1b50ea986938e21ba458bae",
      "parents": [
        "73381bde793f04dd23b2afb2efdf82e8afb7c91c"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Fri Feb 01 14:20:32 2019 +0900"
      },
      "committer": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Wed Apr 03 15:18:08 2019 +0900"
      },
      "message": "Straighten AIDL interface for the memory store\n\nSome names were still wrong somehow, and the wrappers were\nmissing.\n\nTest: NetworkStack \u0026 FrameworkNetTests\nChange-Id: I475bd011ad9bc714a07021a9dfd85c4876f8e9ad\n"
    },
    {
      "commit": "a84cdf4fc697410deed530a07ab12430d48c427c",
      "tree": "146d65153f13cdf4075a47cb48a3c7d968c029fa",
      "parents": [
        "8dedf2b5e48637f4cb9dce0e1466ae49ca265d73",
        "436fe58cce87934a88a6e3c6d7d16e19f69a4200"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Apr 03 06:12:12 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 03 06:12:12 2019 +0000"
      },
      "message": "Merge \"Add tests for PermissionMonitor\""
    },
    {
      "commit": "9f246bd9e34b650b98abc03d3acd1b1bf49c2393",
      "tree": "96d98b78976fa8951b6c0b684189e4148d464def",
      "parents": [
        "c650674397fe611aa93bc9555c8b5e7b158fc992"
      ],
      "author": {
        "name": "markchien",
        "email": "markchien@google.com",
        "time": "Wed Apr 03 10:43:09 2019 +0800"
      },
      "committer": {
        "name": "markchien",
        "email": "markchien@google.com",
        "time": "Wed Apr 03 13:56:00 2019 +0800"
      },
      "message": "Some cleanups for Tethering\n\nBug: 126481523\nTest: -build, flash, boot\n      -FrameworksNetTests\n\nChange-Id: I904646efa87eb5434124c7828aca4ab09c5dc38e\n"
    },
    {
      "commit": "d3c115b26a9a62dec76f79572a33cfde12280984",
      "tree": "8aec97ad6c7a8cd00bf79abfdb70aadd261196fe",
      "parents": [
        "5419b11e14c2ea95c026c6a4fd99ba2b96c7d31a",
        "4bf4e79766aa4b8159d2dc6f5cb22be98ec9f566"
      ],
      "author": {
        "name": "Paul Hu",
        "email": "paulhu@google.com",
        "time": "Tue Apr 02 21:19:14 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Apr 02 21:19:14 2019 -0700"
      },
      "message": "Merge \"Make CaptivePortalProbeSpec and CaptivePortalProbeResult as a library\" am: 3db9cfe660 am: 2d20cd2378\nam: 4bf4e79766\n\nChange-Id: Iccf60b710df5895d8d269b6c918a8b2f252e93a6\n"
    },
    {
      "commit": "4bf4e79766aa4b8159d2dc6f5cb22be98ec9f566",
      "tree": "d0577fe095574b0e3d2e65ff67eed0df4067607f",
      "parents": [
        "9f2d31f1725f8b4256aa0c404daa7542c29f5639",
        "2d20cd2378423ce11fa9cee701f53b0ea5c03033"
      ],
      "author": {
        "name": "Paul Hu",
        "email": "paulhu@google.com",
        "time": "Tue Apr 02 20:45:17 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Apr 02 20:45:17 2019 -0700"
      },
      "message": "Merge \"Make CaptivePortalProbeSpec and CaptivePortalProbeResult as a library\" am: 3db9cfe660\nam: 2d20cd2378\n\nChange-Id: I5a5fd9f900bb1d7217364812d9d0e5477179bfc9\n"
    },
    {
      "commit": "a6817cd532d7036a2ec794f124368de94bf18621",
      "tree": "537af77cf47f1875677ddbc11c1f7d31750a1227",
      "parents": [
        "436fe58cce87934a88a6e3c6d7d16e19f69a4200"
      ],
      "author": {
        "name": "Chenbo Feng",
        "email": "fengc@google.com",
        "time": "Mon Mar 25 18:13:34 2019 -0700"
      },
      "committer": {
        "name": "Chenbo Feng",
        "email": "fengc@google.com",
        "time": "Tue Apr 02 20:31:57 2019 -0700"
      },
      "message": "Clean up permissions when uids are no longer used\n\nThe kernel eBPF maps have a blacklist to store all the uids that doesn\u0027t\nhave internet permission. When an app is unintalled from the device and\nit is the last package on device that uses that uid, make sure we\ncleaned the uid from the map and do not add no longer used uids into the\neBPF map. This action helps reduce the number of entries stored in the\nmap and reduce the chance of overflow the eBPF map.\n\nBug: 128944261\nTest: PermissionMonitorTest\nChange-Id: I10dd0113d00d6cf9ca39902d9721f2591d387d4a\n"
    },
    {
      "commit": "436fe58cce87934a88a6e3c6d7d16e19f69a4200",
      "tree": "6324a7bb209d69311006b36a89cee57c2044d430",
      "parents": [
        "1423684d1afbc5bb9b15d270ba5f87f5544d8ac7"
      ],
      "author": {
        "name": "Chenbo Feng",
        "email": "fengc@google.com",
        "time": "Mon Feb 25 22:55:58 2019 -0800"
      },
      "committer": {
        "name": "Chenbo Feng",
        "email": "fengc@google.com",
        "time": "Tue Apr 02 20:31:49 2019 -0700"
      },
      "message": "Add tests for PermissionMonitor\n\nAdd more tests to PermissionMonitor to verify the functionality related\nto INTERNET permission and UPDATE_DEVIE_STATS permission. Modified some\nof the class design of PermissionMonitor so that it is easier to test\nthe new functionalities.\n\nBug: 111560570\nTest: PermissionMonitorTest\n\nChange-Id: Ic5585f337db5de48e2f87bf4f01ed7d85c349827\n"
    },
    {
      "commit": "452d42f51729de5bdc78dbfa8e4669c21b5cf753",
      "tree": "0d1eab4884d2c21a7f077766b69d83ed159b3ad1",
      "parents": [
        "c2a64487aec3dd17551259f7d1e89f353f7602f8",
        "a6684f67139406a47fe2606938f6bf12d62881a3"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 02 20:53:39 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 02 20:53:39 2019 +0000"
      },
      "message": "Merge \"Pick the primary color as the best color to use.\""
    },
    {
      "commit": "a6684f67139406a47fe2606938f6bf12d62881a3",
      "tree": "9726ddb230de1b29682561e0b17532c23be0f0ff",
      "parents": [
        "60a54acbbf5c10ae11d17aa2b94af07744506379"
      ],
      "author": {
        "name": "Robert Snoeberger",
        "email": "snoeberger@google.com",
        "time": "Tue Apr 02 13:21:42 2019 -0400"
      },
      "committer": {
        "name": "Robert Snoeberger",
        "email": "snoeberger@google.com",
        "time": "Tue Apr 02 15:15:38 2019 -0400"
      },
      "message": "Pick the primary color as the best color to use.\n\nPreviously, the best color was picked by checking the colors\nagainst the blacklist. The logic was for picking the best color\nwas broken When the blacklist was removed for\nb/124180048.\n\nFixes: b129762944\nTest: New test points added to TonalTest.java\nChange-Id: Ie51806735910bb40e5e66d7baf545ea213e4a01e\n"
    },
    {
      "commit": "b0f53b84cc9e2595bed22fa68eee4ab0e3690b9e",
      "tree": "3141f87835cccc7ab24e8f13da1934b11fb7478d",
      "parents": [
        "1e97aab6f423e0528912e72fe23f51e5e0a4e29a"
      ],
      "author": {
        "name": "paulhu",
        "email": "paulhu@google.com",
        "time": "Fri Mar 29 19:21:30 2019 +0800"
      },
      "committer": {
        "name": "paulhu",
        "email": "paulhu@google.com",
        "time": "Tue Apr 02 17:55:42 2019 +0800"
      },
      "message": "Make CaptivePortalProbeSpec and CaptivePortalProbeResult as a library\n\nThese two classes were added to @SystemApi because they are used\nboth by NetworkMonitor and CaptivePortalLogin. However it turns\nout they are not needed in the framework, so having them as a\nlibrary sounds better.\n\nChange-Id: Iadf77ec5952b6da8812dc6d006a39bd4e93d2bd9\nFix: 129433264\nTest: atest NetworkStackTests FrameworksNetTests\n"
    },
    {
      "commit": "1241da4193d6f73c29936496ffd4492b66a42034",
      "tree": "21948d0b6be2569fef9ad02a2ae55ed866319e6b",
      "parents": [
        "1d5f6d3b9e94dd512c9abe62c09999a77203df1d",
        "0741b41d949f5f91e6ed34e15c67327ae21bbd76"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Tue Apr 02 09:07:17 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 02 09:07:17 2019 +0000"
      },
      "message": "Merge \"Block getAvailableRollbacks on the handler thread.\""
    },
    {
      "commit": "1d5f6d3b9e94dd512c9abe62c09999a77203df1d",
      "tree": "76ac38361ebc47e6eea18c6363602e2c24a1f6d0",
      "parents": [
        "0b4b2f2377a3184f42861d956da596f9a6136127",
        "1d7b92b9d5dfa3500c2c1f03cbde749ae9f8a3c7"
      ],
      "author": {
        "name": "Paul Hu",
        "email": "paulhu@google.com",
        "time": "Tue Apr 02 01:29:08 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Apr 02 01:29:08 2019 -0700"
      },
      "message": "Merge \"Address leftover comments on 923337 and 930217.\" am: 1e97aab6f4 am: 55a22b5d17\nam: 1d7b92b9d5\n\nChange-Id: I75eadb66c81d72c768e77feddd383d60f8accd65\n"
    },
    {
      "commit": "1d7b92b9d5dfa3500c2c1f03cbde749ae9f8a3c7",
      "tree": "62b17530934e8ed4a61b4b1f137a9bc5bca343b7",
      "parents": [
        "96724b57ae15bce2125c728bacc42a3c6afa64aa",
        "55a22b5d175da7250002b1f8376a05e8b8129ce9"
      ],
      "author": {
        "name": "Paul Hu",
        "email": "paulhu@google.com",
        "time": "Tue Apr 02 01:14:24 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Apr 02 01:14:24 2019 -0700"
      },
      "message": "Merge \"Address leftover comments on 923337 and 930217.\" am: 1e97aab6f4\nam: 55a22b5d17\n\nChange-Id: Ibbc8dd7bb869f76515c9f57793db02953dd07804\n"
    },
    {
      "commit": "1e97aab6f423e0528912e72fe23f51e5e0a4e29a",
      "tree": "316a57f7ac952facc9422be69ce78b6f57a507da",
      "parents": [
        "4b5ca28dfe79971cb2bd8778a77d9aa488fc7e10",
        "3d67f53b02aa5f0adfc12dbc0e5b5643f1a6c42d"
      ],
      "author": {
        "name": "Paul Hu",
        "email": "paulhu@google.com",
        "time": "Tue Apr 02 07:39:04 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 02 07:39:04 2019 +0000"
      },
      "message": "Merge \"Address leftover comments on 923337 and 930217.\""
    },
    {
      "commit": "c533a42c8036b972d42e8db250543a14e9c78999",
      "tree": "082a9c5b4df19fd56d5391fbd05140b5415ea362",
      "parents": [
        "cf78d78729136e145aa58a3c2f6830f9baa4db61",
        "c13f50f5af8c51d71f8cc5f4cef4cf289a739c24"
      ],
      "author": {
        "name": "Paul Hu",
        "email": "paulhu@google.com",
        "time": "Mon Apr 01 19:24:38 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Apr 01 19:24:38 2019 -0700"
      },
      "message": "Merge \"Fix IpPrefixTest#testContainsInetAddress fail.\" am: 66a133858b am: 9872066d02\nam: c13f50f5af\n\nChange-Id: I9e74dc9bf30a53ce78395e502a52891ba488f4b1\n"
    },
    {
      "commit": "c13f50f5af8c51d71f8cc5f4cef4cf289a739c24",
      "tree": "179f4a5f9fdc594609aeafa0892d69ecc38b9693",
      "parents": [
        "aae8aa3dde6ab549c657c14bfb7e5eecd8054ec8",
        "9872066d02079bf0107470074e193a8cb6b108f4"
      ],
      "author": {
        "name": "Paul Hu",
        "email": "paulhu@google.com",
        "time": "Mon Apr 01 18:59:35 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Apr 01 18:59:35 2019 -0700"
      },
      "message": "Merge \"Fix IpPrefixTest#testContainsInetAddress fail.\" am: 66a133858b\nam: 9872066d02\n\nChange-Id: I257b51a4f0be974eacf8a6c0f12b5d5aacdc7a5f\n"
    },
    {
      "commit": "4fcdc7ed05893eb848a5fc5e239e1194a85a6a49",
      "tree": "c915f68b1affaee229ab0a57eeb3ba0d78faa0e5",
      "parents": [
        "154a0d0b38250bcf246c53b9229937c60a176fbc"
      ],
      "author": {
        "name": "paulhu",
        "email": "paulhu@google.com",
        "time": "Tue Apr 02 00:49:00 2019 +0800"
      },
      "committer": {
        "name": "paulhu",
        "email": "paulhu@google.com",
        "time": "Tue Apr 02 00:49:00 2019 +0800"
      },
      "message": "Fix IpPrefixTest#testContainsInetAddress fail.\n\nThe argument of IpPreFix#contains() has been marked as @NonNull.\nSo the IpPrefixTest#testContainsInetAddress should not test\ncontains() method wiht null object.\n\nBug: None\nTest: atest FrameworksNetTests\n      atest IpPrefixTest#testContainsInetAddress\n\nChange-Id: I2f6bee19514dc47702f64d2a2bbf02d8b7b1b407\n"
    },
    {
      "commit": "3cae85005f16d572c6e241848ad147ae3ffc514c",
      "tree": "15cc487b9f35fd89f15dd8c54e3dfacc95da370e",
      "parents": [
        "90cd3d6d483f92d664d5d4b783d61de722732f14",
        "7b56e5607c9ed778379f88667ac76a9bf930adbd"
      ],
      "author": {
        "name": "Zimuzo Ezeozue",
        "email": "zezeozue@google.com",
        "time": "Mon Apr 01 16:41:57 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 01 16:41:57 2019 +0000"
      },
      "message": "Merge changes from topic \"explicit\"\n\n* changes:\n  Notify PacakgeWatchdog when apps are ready\n  Add explicit health check to PackageWatchdog\n"
    },
    {
      "commit": "2a80a980e9f8a824470123d9e46203cc195a5a50",
      "tree": "a5c434ffc428a05a9e1b3de6eb684eff5c28e722",
      "parents": [
        "c795cc48029d09c899b2b0b8c0ba99f3fdfed30f",
        "11dfd279a33e126d2df847656bf73fd92df79218"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Apr 01 16:23:22 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 01 16:23:22 2019 +0000"
      },
      "message": "Merge \"WindowInsets: populate system gesture and tappable element insets\""
    },
    {
      "commit": "caa435ef51062efff71aae31965c692f4bbd48d7",
      "tree": "f8615490fc16440fc5feaa3b1babe9aa4191a7e6",
      "parents": [
        "d9246ef1fa429d7c27e489bb97d18dea4f33aa12"
      ],
      "author": {
        "name": "Zimuzo",
        "email": "zezeozue@google.com",
        "time": "Wed Mar 20 11:16:06 2019 +0000"
      },
      "committer": {
        "name": "Zimuzo Ezeozue",
        "email": "zezeozue@google.com",
        "time": "Mon Apr 01 14:02:56 2019 +0000"
      },
      "message": "Add explicit health check to PackageWatchdog\n\nPackageWatchdog now uses the ExplicitHealthCheckController introduced\nin Ia030671c99699bd8d8273f32a97a1d3b7b015d3b when observing packages.\n\nBug: 120598832\nTest: Manually tested that after an APEX update, the network stack\ndoes not pass the explicit health check until WiFi is connected\nsuccessfully. If Wi-Fi is never connected and the network stack\nmonitoring duration is exceeded, the update is rolled back.\n\nChange-Id: I75d3cc909cabb4a4eb34df1d5022d1afc629dac3\n"
    },
    {
      "commit": "11dfd279a33e126d2df847656bf73fd92df79218",
      "tree": "5b810e7023ec21adf0384c027273c45b83f560c9",
      "parents": [
        "d96f4fa19c4531f6de96278e80ad6557e00e57c6"
      ],
      "author": {
        "name": "Adrian Roos",
        "email": "roosa@google.com",
        "time": "Mon Mar 25 19:21:26 2019 +0100"
      },
      "committer": {
        "name": "Adrian Roos",
        "email": "roosa@google.com",
        "time": "Mon Apr 01 15:46:13 2019 +0200"
      },
      "message": "WindowInsets: populate system gesture and tappable element insets\n\nAlso fixes an infinite recursion when invoking\nTestableContext.(un)registerComponentCallbacks().\n\nTest: atest WindowInsetsPolicyTest\nBug: 126511573\nChange-Id: I5c9f40054493a83746bce6124d72412e8eb8a0d1\n"
    },
    {
      "commit": "60a54acbbf5c10ae11d17aa2b94af07744506379",
      "tree": "7b9a518e39a5c6799d050f965d6fc980816609d3",
      "parents": [
        "79013e11c3b83f48b5e3cae4a2777ae2bacf01d0",
        "8e6c80f2389e713f8050bd285fb33382fbbd5f7b"
      ],
      "author": {
        "name": "Xiao Ma",
        "email": "xiaom@google.com",
        "time": "Mon Apr 01 06:35:34 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Apr 01 06:35:34 2019 -0700"
      },
      "message": "Merge \"Add DHCP address lease expiry in IpMemoryStore.\" am: 17ea70c6d3 am: 23f6cd281a\nam: 8e6c80f238\n\nChange-Id: Ib09ee6a702fb25a682d4782a8822237ebb9a0dfb\n"
    },
    {
      "commit": "8e6c80f2389e713f8050bd285fb33382fbbd5f7b",
      "tree": "15bff81c0bd46c1f43a17ab8b5103fad05e969c9",
      "parents": [
        "bf3e6f5e754a6f3c4e6c3ee396790884b9d56989",
        "23f6cd281a2d0fa5fa90dadfd9042beb5d0c68d1"
      ],
      "author": {
        "name": "Xiao Ma",
        "email": "xiaom@google.com",
        "time": "Mon Apr 01 06:27:18 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Apr 01 06:27:18 2019 -0700"
      },
      "message": "Merge \"Add DHCP address lease expiry in IpMemoryStore.\" am: 17ea70c6d3\nam: 23f6cd281a\n\nChange-Id: I690d6c1602292731f27b3f2d0a1a36cf95849d2e\n"
    },
    {
      "commit": "17ea70c6d3568a1c6f98bacc4594e45d4678da49",
      "tree": "271142db3ae305a9805bd262a1b8443f6763b37a",
      "parents": [
        "f9d61f1c6dd0f797ca5286495503b45d4b83cbd7",
        "385ccb05c834053c3867d7750e2d9eb71f0adcf1"
      ],
      "author": {
        "name": "Xiao Ma",
        "email": "xiaom@google.com",
        "time": "Mon Apr 01 12:59:20 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 01 12:59:20 2019 +0000"
      },
      "message": "Merge \"Add DHCP address lease expiry in IpMemoryStore.\""
    },
    {
      "commit": "3d67f53b02aa5f0adfc12dbc0e5b5643f1a6c42d",
      "tree": "a6aaf98f49ef94fba0db0d66d22b52fc1a9cf1ad",
      "parents": [
        "06bdf061f00cf6017976e8b26da007729c800e10"
      ],
      "author": {
        "name": "paulhu",
        "email": "paulhu@google.com",
        "time": "Fri Mar 22 16:35:06 2019 +0800"
      },
      "committer": {
        "name": "paulhu",
        "email": "paulhu@google.com",
        "time": "Mon Apr 01 16:24:10 2019 +0800"
      },
      "message": "Address leftover comments on 923337 and 930217.\n\n- Restrict unprivileged apps to use\n  NetworkRequest.Builder#setSignalStrength.\n\n- Remove the \"throws NullPointerException\" in\n  CaptivePortalProbeSpec constructor.\n\n- Remove the null check in LinkProperties.\n\n- Add annotataion into all ConnectivityManager.NetworkCallback\n  methods.\n\nChange-Id: Id275cac1d6a30d7515cd7b113394f5e8a0179314\nFix: 129097486\nTest: atest FrameworksNetTests\n"
    },
    {
      "commit": "b93bfa1d690eb35205108b6c53a8c726798ca752",
      "tree": "dc1da98e8dcacd0d9ecf980a9155dfa33433727f",
      "parents": [
        "b9b310a9762a3aa8bfd241774823574679a877f1",
        "940cbf970a3f87003a22e92669dfa7e1fa3db539"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Sun Mar 31 21:35:25 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sun Mar 31 21:35:25 2019 -0700"
      },
      "message": "Merge \"Fix race when starting NetworkMonitor\" am: 78454f3c46 am: f75ba075e4\nam: 940cbf970a\n\nChange-Id: I595ecdbf0b8e91fec4287c3476239a1e6c9c80a7\n"
    },
    {
      "commit": "940cbf970a3f87003a22e92669dfa7e1fa3db539",
      "tree": "f13ef17e2102bd6d301f9a706db9b33c6d061607",
      "parents": [
        "ae55a7a3697f908e98dc1ffdeb07be6099048f16",
        "f75ba075e4d96dde3fc4c6340a790c7ef64bd116"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Sun Mar 31 21:25:12 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sun Mar 31 21:25:12 2019 -0700"
      },
      "message": "Merge \"Fix race when starting NetworkMonitor\" am: 78454f3c46\nam: f75ba075e4\n\nChange-Id: I049ea18e6c5c42a1b31d93541aa3846b14b7ab08\n"
    },
    {
      "commit": "78454f3c468e8ddf98c6f2e4f539bf90af34e0c2",
      "tree": "15ffdf0640c8826770cda6bed90134bada06b7cd",
      "parents": [
        "c650674397fe611aa93bc9555c8b5e7b158fc992",
        "3962f678c3559ee62bcfd81d353af5d86a32622e"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Mon Apr 01 03:54:03 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 01 03:54:03 2019 +0000"
      },
      "message": "Merge \"Fix race when starting NetworkMonitor\""
    },
    {
      "commit": "3962f678c3559ee62bcfd81d353af5d86a32622e",
      "tree": "e5e05a11c032559ee3cd3e48eae67bf64dce04ec",
      "parents": [
        "1859ae7e7d0d250aebd32d98c1963f6f7084dd1f"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Wed Mar 27 15:42:53 2019 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Mon Apr 01 11:33:10 2019 +0900"
      },
      "message": "Fix race when starting NetworkMonitor\n\nNetworkMonitor obtained LinkProperties and NetworkCapabilities via\nsynchronous calls to ConnectivityManager after receiving an asynchronous\nnotification, which is prone to races: the network could be gone before\nthe LinkProperties/NetworkCapabilities can be fetched.\n\nFix the race by passing LinkProperties/NetworkCapabilities directly to\nNetworkMonitor in the asynchronous notifications.\n\nTest: atest FrameworksNetTests NetworkStackTests\nTest: booted, WiFi works\nBug: 129375892\nChange-Id: I200ac7ca6ff79590b11c9be705f650c92fd3cb63\n"
    },
    {
      "commit": "6764eff395a9830d6c2dae2e922bef66acdf12b0",
      "tree": "1c1e3e1c45252cbcc52342f57caf3d0075572a62",
      "parents": [
        "eea508002787872f541d13c238e8f48cebedf047",
        "ceb74821a3d6c45bbb90aa15d494285488bddb15"
      ],
      "author": {
        "name": "Luke Huang",
        "email": "huangluke@google.com",
        "time": "Fri Mar 29 02:24:24 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Mar 29 02:24:24 2019 -0700"
      },
      "message": "Merge \"Use IDnsResolver instead of INetd for resolver related binder commands\" am: b9ef4dd299 am: 1711278ce2\nam: ceb74821a3\n\nChange-Id: I2d642b71df25934fddd8a1476b5d27457628b8e2\n"
    },
    {
      "commit": "ceb74821a3d6c45bbb90aa15d494285488bddb15",
      "tree": "b85c09b7735afee1f644b56c68d60260bc717928",
      "parents": [
        "2be1be042638ea32894974a31451904f217b4970",
        "1711278ce273e17c6123ec126dd9ad90ccfa6479"
      ],
      "author": {
        "name": "Luke Huang",
        "email": "huangluke@google.com",
        "time": "Fri Mar 29 02:10:55 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Mar 29 02:10:55 2019 -0700"
      },
      "message": "Merge \"Use IDnsResolver instead of INetd for resolver related binder commands\" am: b9ef4dd299\nam: 1711278ce2\n\nChange-Id: I80ae047bd65b654e01061a9f218be23e1e3ef2ed\n"
    },
    {
      "commit": "b9ef4dd299f8b7d3f01fd76ea85a6a62b7a1c645",
      "tree": "35db2eb4c53e6484917afc1d20600dc8baf3c892",
      "parents": [
        "bc350db984669fb4220e75b67407e0bec3e51038",
        "6591477a5b0bab828b4a611fef83941322458f3c"
      ],
      "author": {
        "name": "Luke Huang",
        "email": "huangluke@google.com",
        "time": "Fri Mar 29 08:45:19 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 29 08:45:19 2019 +0000"
      },
      "message": "Merge \"Use IDnsResolver instead of INetd for resolver related binder commands\""
    },
    {
      "commit": "385ccb05c834053c3867d7750e2d9eb71f0adcf1",
      "tree": "30523fa6c7f2568206a402780b33c40ff3a14206",
      "parents": [
        "bc350db984669fb4220e75b67407e0bec3e51038"
      ],
      "author": {
        "name": "Xiao Ma",
        "email": "xiaom@google.com",
        "time": "Fri Mar 01 12:25:36 2019 +0900"
      },
      "committer": {
        "name": "Xiao Ma",
        "email": "xiaom@google.com",
        "time": "Fri Mar 29 16:51:47 2019 +0900"
      },
      "message": "Add DHCP address lease expiry in IpMemoryStore.\n\nBug:122710829\nTest: atest FrameworksNetTests\nChange-Id: I643fe1231edcd18923514ab66c64a6cf83e69443\n"
    },
    {
      "commit": "112b8bd6c5b9556d0658cda720604b3ce54f8a68",
      "tree": "f295b21e8cb7f077eabeba6bc690d28c43240454",
      "parents": [
        "525412b9de4901d14da3dcc305f40313c6b6d31b",
        "09ef7691f5041793cdaf01e83fc450a30c7210c6"
      ],
      "author": {
        "name": "Varun Anand",
        "email": "vaanand@google.com",
        "time": "Thu Mar 28 18:16:37 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Mar 28 18:16:37 2019 -0700"
      },
      "message": "Merge changes from topic \"vpn_data_accounting\" am: 6c93e5378a\nam: 09ef7691f5\n\nChange-Id: If4fff1b4d14e80e024ce7b1aa85ebd3afcb1ecc2\n"
    },
    {
      "commit": "6c93e5378a754f1992aaf4bfd5d030c623dbc57b",
      "tree": "af2795f972ca15bc53580341ec062b1bca63dd75",
      "parents": [
        "c3b3a5fa2e780c89eafb3e43ab1747487d33f8b1",
        "346aa87544a0d9e212dbb0dd9265a31ca609c7a4"
      ],
      "author": {
        "name": "Varun Anand",
        "email": "vaanand@google.com",
        "time": "Fri Mar 29 00:40:53 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 29 00:40:53 2019 +0000"
      },
      "message": "Merge changes from topic \"vpn_data_accounting\"\n\n* changes:\n  Move BatteryStats and StatsCompanionService to use NetworkStatsService.\n  NetworkStatsService: Fix getDetailedUidStats to take VPNs into account.\n  Take all VPN underlying networks into account when migrating traffic for VPN uid.\n"
    },
    {
      "commit": "bc82c01a16bca8764d1a7025d1fc60feb7994105",
      "tree": "9f856e4610983705d84622d0ec56d855402e0b9c",
      "parents": [
        "d272ec184bfaf59b6fe7c4051e252f43af766fad",
        "525412b9de4901d14da3dcc305f40313c6b6d31b"
      ],
      "author": {
        "name": "markchien",
        "email": "markchien@google.com",
        "time": "Thu Mar 28 17:12:05 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Mar 28 17:12:05 2019 -0700"
      },
      "message": "Merge \"Close tethering when UI entitlement fails\" am: c3b3a5fa2e am: fed8661b68\nam: 525412b9de\n\nChange-Id: I432e6e2267a87503bc7d431ef268477cc07de3da\n"
    },
    {
      "commit": "525412b9de4901d14da3dcc305f40313c6b6d31b",
      "tree": "bfc470ec1667464887146c1c2a872ec5a6c52794",
      "parents": [
        "8331efe0afd5132fffd15ce952f6eba76499a795",
        "fed8661b68c6722571f16e678b5f4d580a31defd"
      ],
      "author": {
        "name": "markchien",
        "email": "markchien@google.com",
        "time": "Thu Mar 28 16:54:03 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Mar 28 16:54:03 2019 -0700"
      },
      "message": "Merge \"Close tethering when UI entitlement fails\" am: c3b3a5fa2e\nam: fed8661b68\n\nChange-Id: I3132c0ae24ee4175b3c5283ce68add22af0fb90e\n"
    },
    {
      "commit": "c3b3a5fa2e780c89eafb3e43ab1747487d33f8b1",
      "tree": "d8e7aeb98014900a75acbe48dcb31d7c1befde18",
      "parents": [
        "6bd5cf2bcc28cf3d21d7b2d8b7d7c3e7de180f89",
        "29b7014dab40cc472d36df91fe644ef5ac3df6c3"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Mar 28 23:34:34 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 28 23:34:34 2019 +0000"
      },
      "message": "Merge \"Close tethering when UI entitlement fails\""
    },
    {
      "commit": "5a0ad86fb3e22c9eac13ce52dae2428d49647bdd",
      "tree": "b08e4568b8f9246fc3ea1c3bf5b2ca247d5ddf8b",
      "parents": [
        "886705338b1eac09d12adffb4da319e25a5ef04d",
        "70626a863a73dfdc5ed7f20cd8c45c4182a72b42"
      ],
      "author": {
        "name": "Yury Khmel",
        "email": "khmel@google.com",
        "time": "Thu Mar 28 23:28:06 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 28 23:28:06 2019 +0000"
      },
      "message": "Merge \"arc: Switch to measure Hardware surfaces.\""
    },
    {
      "commit": "d9ee5557f16ef2ba5e715ad67e19eab047929f2a",
      "tree": "99d55065e65361acea6b393a170f98f8a63d7eb1",
      "parents": [
        "e70f7365efa4e6e3144abf3d0a752b2b166cb5cf",
        "c82d3e9e3c6dd8be410aeb7212c0e2655b20a15e"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Mar 28 20:34:25 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 28 20:34:25 2019 +0000"
      },
      "message": "Merge \"Explicitly exclude @Ignore annotation\""
    },
    {
      "commit": "70626a863a73dfdc5ed7f20cd8c45c4182a72b42",
      "tree": "51a898d4a51f9d3b717ce437d601bc09f3b2a5fb",
      "parents": [
        "cb1f204387bdbfd2c49398d3aa649f3d70b6b295"
      ],
      "author": {
        "name": "khmel@google.com",
        "email": "khmel@google.com",
        "time": "Mon Feb 04 16:55:40 2019 -0800"
      },
      "committer": {
        "name": "Yury Khmel",
        "email": "khmel@google.com",
        "time": "Thu Mar 28 20:12:46 2019 +0000"
      },
      "message": "arc: Switch to measure Hardware surfaces.\n\nThis switches SurfaceView performance measurement to hardware canvas\ntype. Sloweness of this sub-test is caused by CPU blit operation. This\ntype is not highest priority for ARC++ and hardware rendering has more\nsense to check.\n\nBug: 116859584\nTest: Manually, FPS is 60 for caroline, which is expected.\nChange-Id: Ic683c040e6089b878772e902f7a975898848b364\n(cherry picked from commit 10da79663169f5d59a50d1a24b53d89f9844977a)\n(cherry picked from commit 198a8d4c3b879d54681515367e13347cd258672a)\n"
    },
    {
      "commit": "cb1f204387bdbfd2c49398d3aa649f3d70b6b295",
      "tree": "b6b8b2849cb1283540ea462840447a82f4524a0e",
      "parents": [
        "c27024d97ae3c14eb50dd97a15325931482fb6bb",
        "017a97825e4b73a96121661aea02a0b84a6a3d6e"
      ],
      "author": {
        "name": "Yury Khmel",
        "email": "khmel@google.com",
        "time": "Thu Mar 28 20:10:08 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 28 20:10:08 2019 +0000"
      },
      "message": "Merge \"Add initial GamePerformance test.\""
    },
    {
      "commit": "29d2ef2fe10ce9686b57a21aa8e10f6481c92a9a",
      "tree": "2517b585de7634e54a44f7dc54654b9261ffda19",
      "parents": [
        "95aa6d446f8197822fd5749aeb7c6aff5577c206"
      ],
      "author": {
        "name": "Varun Anand",
        "email": "vaanand@google.com",
        "time": "Fri Jan 18 19:22:48 2019 -0800"
      },
      "committer": {
        "name": "Varun Anand",
        "email": "vaanand@google.com",
        "time": "Thu Mar 28 10:31:51 2019 -0700"
      },
      "message": "NetworkStatsService: Fix getDetailedUidStats to take VPNs into account.\n\nThis API is similar to one provided by NetworkStatsFactory with the\ndifference that NSS also migrates traffic from VPN UID to other apps.\n\nSince traffic can only be migrated over NetworkStats delta, NSS\ntherefore maintains NetworkStats snapshot across all UIDs/ifaces/tags.\n\nThis snapshot gets updated whenever NSS records a new snapshot\n(based on various hooks such as VPN updating its underlying networks,\nnetwork getting lost, etc.), or getDetailedUidStats API is invoked by\none of its callers.\n\nBug: 113122541\nBug: 120145746\nTest: atest FrameworksNetTests\nTest: manually verified that battery stats are migrating traffic off of\nTUN (after patching above CL where we point BatteryStats to use this\nAPI).\nChange-Id: Ib0f0c2d4d41ee1d7a027ea9da457baaf198d649e\n"
    },
    {
      "commit": "95aa6d446f8197822fd5749aeb7c6aff5577c206",
      "tree": "bc029e734b213074908f6e25f23217cf547c2e11",
      "parents": [
        "289759e0d2cbc381a7495e28094f55b31a702058"
      ],
      "author": {
        "name": "Varun Anand",
        "email": "vaanand@google.com",
        "time": "Sun Feb 17 23:43:25 2019 -0800"
      },
      "committer": {
        "name": "Varun Anand",
        "email": "vaanand@google.com",
        "time": "Thu Mar 28 10:31:49 2019 -0700"
      },
      "message": "Take all VPN underlying networks into account when migrating traffic for\nVPN uid.\n\nBug: 113122541\nBug: 120145746\nTest: atest FrameworksNetTests\nTest: Manually verified on device that stats from VPN UID are moved\n      appropriately based on its declared underlying network set.\nTest: vogar --mode app_process --benchmark NetworkStatsBenchmark.java\n\nChange-Id: I9d8d0cc58d18002c1c96f8ddff780ef8dc452d21\n"
    },
    {
      "commit": "c82d3e9e3c6dd8be410aeb7212c0e2655b20a15e",
      "tree": "94712fe2939f73ba85a1980b09c9afd537b65890",
      "parents": [
        "67542eec78d318d60cbbe98f8870b7debe665793"
      ],
      "author": {
        "name": "Julien Desprez",
        "email": "jdesprez@google.com",
        "time": "Thu Mar 28 08:50:03 2019 -0700"
      },
      "committer": {
        "name": "Julien Desprez",
        "email": "jdesprez@google.com",
        "time": "Thu Mar 28 08:50:03 2019 -0700"
      },
      "message": "Explicitly exclude @Ignore annotation\n\nSome flicker class are marked Ignored causing some issue\nwith the AJUR runner. To avoid them, simply filter it.\n\nTest: None\nBug: 129468528\nChange-Id: I6442204eb6f89b4bf90a39ee821ebc4daebbe120\n"
    },
    {
      "commit": "80a19bfb312d33f4c5515e174cdc899d6a7f01ab",
      "tree": "a129ff91128d44e8c8985390fe84ca9b4d0bf8d1",
      "parents": [
        "f2c49988c395b8841bf49051891f8df75fd09433",
        "068c1bbf8ff8b47465763f09d2331d1e85a40644"
      ],
      "author": {
        "name": "Mark Chien",
        "email": "markchien@google.com",
        "time": "Thu Mar 28 03:22:04 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Mar 28 03:22:04 2019 -0700"
      },
      "message": "Merge \"Only apply entitlement check to cellular upstream\" am: eea398a690\nam: 068c1bbf8f\n\nChange-Id: Iab4e067c3fec1c3b150559bfedc5643cf6c7476a\n"
    },
    {
      "commit": "eea398a690496127b3626917bd800a5d57ae911c",
      "tree": "fdf28ad6b422fb5eb0a44589bf661ef46f302470",
      "parents": [
        "d08c3b655b71c1100a216b89fae236da861ae66e",
        "3b519638a379f124b9776a222ffb01139902aea7"
      ],
      "author": {
        "name": "Mark Chien",
        "email": "markchien@google.com",
        "time": "Thu Mar 28 09:52:52 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 28 09:52:52 2019 +0000"
      },
      "message": "Merge \"Only apply entitlement check to cellular upstream\""
    },
    {
      "commit": "7d1f0fb263d598da52e425c9c78faef992412413",
      "tree": "909bde91c2528bf5fe5493db8f1afea30101c422",
      "parents": [
        "805e4a07cd19cc2a4af672fa8748605e1be4aab1",
        "a0d280fc54e4da2f443beccb21db832b116ef2a8"
      ],
      "author": {
        "name": "Mark Chien",
        "email": "markchien@google.com",
        "time": "Thu Mar 28 08:38:40 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 28 08:38:40 2019 +0000"
      },
      "message": "Merge \"Only apply entitlement check to cellular upstream\""
    },
    {
      "commit": "29b7014dab40cc472d36df91fe644ef5ac3df6c3",
      "tree": "a6316cc47cf284f969ac6ae04756c3a40caf0822",
      "parents": [
        "3b519638a379f124b9776a222ffb01139902aea7"
      ],
      "author": {
        "name": "markchien",
        "email": "markchien@google.com",
        "time": "Tue Mar 26 21:41:59 2019 +0800"
      },
      "committer": {
        "name": "markchien",
        "email": "markchien@google.com",
        "time": "Thu Mar 28 11:48:40 2019 +0800"
      },
      "message": "Close tethering when UI entitlement fails\n\nThis is a alternative way for moving TetherService logic\ninto EntitlementManager[1]. Settings would close tethering\nwhen silent entitlement check fail. To be consistent,\ntethering should also be closed if UI entitlement check\nfails.\n\n[1] https://android-review.googlesource.com/c/platform/frameworks/base/+/928136\n\nbug: 129330738\nTest: -build, flash, boot,\n      -atest EntitlementManagerTest\n      -manual test with carrier SIM\n\nChange-Id: Idfc35461b6359f3a624e78d49b6f73812db6d8ab\n"
    },
    {
      "commit": "3b519638a379f124b9776a222ffb01139902aea7",
      "tree": "fae0f3acaf6f67113906b125ae5cac4bee460a3b",
      "parents": [
        "963136ce56c60ac615cbbba8cc7ec885d5c0b1df"
      ],
      "author": {
        "name": "markchien",
        "email": "markchien@google.com",
        "time": "Fri Sep 07 16:19:12 2018 +0800"
      },
      "committer": {
        "name": "markchien",
        "email": "markchien@google.com",
        "time": "Thu Mar 28 11:18:07 2019 +0800"
      },
      "message": "Only apply entitlement check to cellular upstream\n\nInstead of doing a tethering entitlement check whenever we turn\non tethering, provisioning result should only affect mobile\nupstream. List behavior changes below:\n\n1. Change tether entitlement check from pre-flight check to\nrun-time check.\n2. Only run entitlement check when upstream is mobile.\n3. Move schedule entitlement re-check logic from Settings to\nframework.\n4. Run all entitlement thing in TetherMaster thread to avoid\nmulti-thread problem.\n\nTest: -atest FrameworksNetTests\n      -build, flash, booted\nbug: 111490073\nChange-Id: Ic2980b4d6864d6f7287816c43eb6cf7a5cdec541\nMerged-in: Ic2980b4d6864d6f7287816c43eb6cf7a5cdec541\n"
    },
    {
      "commit": "649d9a23e6d4fba0a0214d9394fba7d86c60b3b9",
      "tree": "08c497cece7a0c0665063293a17addb4dd7281f7",
      "parents": [
        "b17c4244af14dad1bf26a3004b72e7e176afb176",
        "213cda6940ec0e31d1cc9900a05131bd92812062"
      ],
      "author": {
        "name": "Junyu Lai",
        "email": "junyulai@google.com",
        "time": "Wed Mar 27 18:43:18 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Mar 27 18:43:18 2019 -0700"
      },
      "message": "Merge changes I0baf582f,I4bba01ba am: e5ee6b9b31 am: abb63e3a99\nam: 213cda6940\n\nChange-Id: I2cc021899270b41e4b9047ef32869af53ea6fb65\n"
    },
    {
      "commit": "213cda6940ec0e31d1cc9900a05131bd92812062",
      "tree": "9d5c73627c7ea3c7b15c8803c8f1fe60ba5f80f5",
      "parents": [
        "044a6a4580a933daa8ea99c92c9b8476cb3a093e",
        "abb63e3a99fff2a5fa9757aa0913c2f5de92690c"
      ],
      "author": {
        "name": "Junyu Lai",
        "email": "junyulai@google.com",
        "time": "Wed Mar 27 18:27:36 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Mar 27 18:27:36 2019 -0700"
      },
      "message": "Merge changes I0baf582f,I4bba01ba am: e5ee6b9b31\nam: abb63e3a99\n\nChange-Id: Ia6cd87afec7c449b9096400352c5f6de75a012bc\n"
    },
    {
      "commit": "e5ee6b9b312aa902bbaf1c58afb6fd1307ca953c",
      "tree": "466eb6a4cd4046f1487da461cc51e17120711698",
      "parents": [
        "6a753ba787dc410625c49ee18b1365ba19ee4928",
        "15178155e0e19d8ca4bd8ee66f9b560d9feb5ae7"
      ],
      "author": {
        "name": "Junyu Lai",
        "email": "junyulai@google.com",
        "time": "Thu Mar 28 00:53:20 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 28 00:53:20 2019 +0000"
      },
      "message": "Merge changes I0baf582f,I4bba01ba\n\n* changes:\n  Block unpriviledged apps which create keepalives with null fd\n  Fix keepalive don\u0027t get removed when lower layer error\n"
    },
    {
      "commit": "29ce084e7234bc115a139ca9ca65be5b3bd537e2",
      "tree": "09ca28cc4a372169c11830529102f3c0950f657a",
      "parents": [
        "68d476c7bc8d097fa05e9777bfba1da1a52d2854",
        "7e84d33602bf8486df5db2fe1b3a2a50b3c8c428"
      ],
      "author": {
        "name": "Adrian Salido",
        "email": "salidoa@google.com",
        "time": "Wed Mar 27 18:40:41 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 27 18:40:41 2019 +0000"
      },
      "message": "Merge \"TouchLatency: add 60/90hz mode switch\""
    },
    {
      "commit": "0741b41d949f5f91e6ed34e15c67327ae21bbd76",
      "tree": "e64f378f772d1ef401d740efdcf89c42b6b8ec35",
      "parents": [
        "75ca391bbe0c7b294ea2743892d865fe8957bddb"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Wed Mar 27 13:27:55 2019 +0000"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Wed Mar 27 15:20:06 2019 +0000"
      },
      "message": "Block getAvailableRollbacks on the handler thread.\n\nTo reduce flakiness in the CTS test, which checks for an available\nrollback immediately after an app update is committed.\n\nRemove sleeps from the RollbackTest that should no longer be needed.\n\nTest: atest RollbackTest CtsRollbackManagerTestCases\nBug: 127933960\nChange-Id: I60adb0f58eaba02d08ecd44b44866a8505c58238\n"
    },
    {
      "commit": "15178155e0e19d8ca4bd8ee66f9b560d9feb5ae7",
      "tree": "4d73c2911b0bfc3126cb3d765bf6b120d17e9454",
      "parents": [
        "422a3c14486f7beeb2297df07ad59159819a33be"
      ],
      "author": {
        "name": "junyulai",
        "email": "junyulai@google.com",
        "time": "Wed Mar 27 11:00:37 2019 +0800"
      },
      "committer": {
        "name": "junyulai",
        "email": "junyulai@google.com",
        "time": "Wed Mar 27 19:51:08 2019 +0800"
      },
      "message": "Block unpriviledged apps which create keepalives with null fd\n\nCurrently, socketKeepalive implementation is accepting null fd\ndue to backward compatibility with legacy packet keepalive API.\nHowever, due to lack of the fd, the service cannot guarantee the\nport is not reused by another app if the caller release the port\nfor any reason.\n\nThus, grant the null fd access only for priviledged apps.\n\nThis commit also address some comments from aosp/918533.\n\nBug: 126699232\nTest: atest FrameworksNetTests\nChange-Id: I0baf582ff4ca8af6082c3754e8dfbcd867f39792\n"
    },
    {
      "commit": "6591477a5b0bab828b4a611fef83941322458f3c",
      "tree": "3bfa5c5fa18f8a7628e64625a81f08607c57f5e9",
      "parents": [
        "f3736d67f85fd9a48451e165c70e16b1c3fa6856"
      ],
      "author": {
        "name": "Luke Huang",
        "email": "huangluke@google.com",
        "time": "Sat Mar 16 00:31:46 2019 +0800"
      },
      "committer": {
        "name": "Luke Huang",
        "email": "huangluke@google.com",
        "time": "Wed Mar 27 17:39:07 2019 +0800"
      },
      "message": "Use IDnsResolver instead of INetd for resolver related binder commands\n\nmigrate resolver related commands from INetd to IDnsResolver\n\nBug: 126141549\nTest: atest FrameworksNetTests ConnectivityServiceTest Nat464XlatTest\n      atest DnsManagerTest\nChange-Id: I559c0c1304d53dde408c062e1a52e742595e7cbe\n"
    },
    {
      "commit": "a0d280fc54e4da2f443beccb21db832b116ef2a8",
      "tree": "2e87cde807113d841eb537c39445e157b7ce7350",
      "parents": [
        "7f7639a942cb54c900b45e31df31bf948db0a5e2"
      ],
      "author": {
        "name": "markchien",
        "email": "markchien@google.com",
        "time": "Fri Sep 07 16:19:12 2018 +0800"
      },
      "committer": {
        "name": "Mark Chien",
        "email": "markchien@google.com",
        "time": "Wed Mar 27 04:17:11 2019 +0000"
      },
      "message": "Only apply entitlement check to cellular upstream\n\nInstead of doing a tethering entitlement check whenever we turn\non tethering, provisioning result should only affect mobile\nupstream. List behavior changes below:\n\n1. Change tether entitlement check from pre-flight check to\nrun-time check.\n2. Only run entitlement check when upstream is mobile.\n3. Move schedule entitlement re-check logic from Settings\nframework.\n4. Run all entitlement thing in TetherMaster thread to avoid\nmulti-thread problem.\n\nTest: -atest FrameworksNetTests\n      -build, flash, booted\nbug: 111490073\nChange-Id: Ic2980b4d6864d6f7287816c43eb6cf7a5cdec541\n"
    },
    {
      "commit": "b38180edc1d53084592997e7b8ec6e553b5dec50",
      "tree": "89c134526bbc0adbfcdd4b0ee7bf30c09b01bed1",
      "parents": [
        "43037e40e7ed244c0c330912e47375e3effaaad8",
        "ddac1161d94a16e67912aaf71abaed866060b3f8"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue Mar 26 20:28:03 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Mar 26 20:28:03 2019 -0700"
      },
      "message": "Merge \"Use SystemApi framework parcelables directly\" am: 021ea66aea am: 4864ffd97e\nam: ddac1161d9\n\nChange-Id: I99a21274856a0f9903cc8242f91735128117919f\n"
    },
    {
      "commit": "ddac1161d94a16e67912aaf71abaed866060b3f8",
      "tree": "9e9f23877dfe45aa3af3ec4ec09a5c7b7cee7ed1",
      "parents": [
        "50c9cca36d95aaf3ea99cae8869e783199c848eb",
        "4864ffd97eece5b163a4faac1c24754418e40000"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue Mar 26 20:18:30 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Mar 26 20:18:30 2019 -0700"
      },
      "message": "Merge \"Use SystemApi framework parcelables directly\" am: 021ea66aea\nam: 4864ffd97e\n\nChange-Id: I28b60bcaf76d8902f3cd9d7956931c98d8d85710\n"
    },
    {
      "commit": "021ea66aead7824cc0974de0baa222719dd51676",
      "tree": "d2f1b63fbedae09c2da8765c68b800f765326755",
      "parents": [
        "88fb51277bf540f84408df6392db7ea8393c204d",
        "266868246a4024295010a0fc9ecc475df34f8b24"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 27 02:55:15 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 27 02:55:15 2019 +0000"
      },
      "message": "Merge \"Use SystemApi framework parcelables directly\""
    },
    {
      "commit": "9d9f524f736eab3c1d96c4bde113afbc70d89c00",
      "tree": "135a9dffeeedb770ecf3d001448b8fb748a4f747",
      "parents": [
        "648e675487d9eb191e7b878a08d098500a9f69e4",
        "801be56a0fcc475b25153eec52b8a974f2102b2d"
      ],
      "author": {
        "name": "Lucas Lin",
        "email": "lucaslin@google.com",
        "time": "Tue Mar 26 19:00:50 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Mar 26 19:00:50 2019 -0700"
      },
      "message": "Merge \"Fix flaky test for ConnectivityServiceTest#testPartialConnectivity\" am: 9e3297a099 am: d593ac0f90\nam: 801be56a0f\n\nChange-Id: I80399f9980119342ba5cd3d4f1922badb1fee3e9\n"
    },
    {
      "commit": "801be56a0fcc475b25153eec52b8a974f2102b2d",
      "tree": "206355789eac17172908880e4a8ecf0a0505f285",
      "parents": [
        "450a5266089a36d8868ee8ab6eca306cd9dad0a4",
        "d593ac0f90738bf60fbd8508b74245f3c121ff6a"
      ],
      "author": {
        "name": "Lucas Lin",
        "email": "lucaslin@google.com",
        "time": "Tue Mar 26 18:49:59 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Mar 26 18:49:59 2019 -0700"
      },
      "message": "Merge \"Fix flaky test for ConnectivityServiceTest#testPartialConnectivity\" am: 9e3297a099\nam: d593ac0f90\n\nChange-Id: I4b0a70cbfdce8f43c07275ace151d3ab464da5a4\n"
    },
    {
      "commit": "9e3297a099fd1df2ec5ca5345972aa2a232dd773",
      "tree": "2b324059043c9ca3033b9553f84cf7b8730844a9",
      "parents": [
        "25a7e6ed252ff5a1270d169de71b892eba71cc71",
        "f3b59b3ee0e33a8ff5938a23a38d372c4a486b75"
      ],
      "author": {
        "name": "Lucas Lin",
        "email": "lucaslin@google.com",
        "time": "Wed Mar 27 01:29:51 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 27 01:29:51 2019 +0000"
      },
      "message": "Merge \"Fix flaky test for ConnectivityServiceTest#testPartialConnectivity\""
    },
    {
      "commit": "69ed566d8fbd1e63aae751b1d6632e4868112b3b",
      "tree": "299a0b3e33b1fdf7ac046eeb8f05aa7f772a4b08",
      "parents": [
        "e6039fbffef528cddd0fa9496af258c24a5960b8",
        "487ddbf51858a7a273b4d02ee35395f480441a1a"
      ],
      "author": {
        "name": "Tadashi G. Takaoka",
        "email": "takaoka@google.com",
        "time": "Tue Mar 26 11:17:15 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Mar 26 11:17:15 2019 -0700"
      },
      "message": "Merge \"Rename WM test filter to FrameworksTestsFilter\" am: d824faeb46\nam: 487ddbf518\n\nChange-Id: I04f88e7d16b8da5821050f1ed7a64566b1fadd3d\n"
    },
    {
      "commit": "d824faeb467b41d308fbbe50e96cf0ab22ce8f6a",
      "tree": "19a412ccff9b82f3184ce2726661b66cde786b2c",
      "parents": [
        "ae957afaa6c0cb0c7563d43f4d8760a59f6d44e9",
        "4681849a6b94e6a7794bbb8b918f064187546890"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 26 17:32:22 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 26 17:32:22 2019 +0000"
      },
      "message": "Merge \"Rename WM test filter to FrameworksTestsFilter\""
    },
    {
      "commit": "4681849a6b94e6a7794bbb8b918f064187546890",
      "tree": "9e6984a2605771d6c5410709da37a1cca39680bf",
      "parents": [
        "06bdf061f00cf6017976e8b26da007729c800e10"
      ],
      "author": {
        "name": "Tadashi G. Takaoka",
        "email": "takaoka@google.com",
        "time": "Tue Mar 26 19:19:01 2019 +0900"
      },
      "committer": {
        "name": "Tadashi G. Takaoka",
        "email": "takaoka@google.com",
        "time": "Tue Mar 26 16:12:18 2019 +0000"
      },
      "message": "Rename WM test filter to FrameworksTestsFilter\n\nThis CL adds Window Manager related tests of FrameworksServicesTests\nto the test filter, and adds a comment to each tests mentioning about\nFrameworksTestsFilter.\n\nTest: Pass all 85 non-flaky presubmit tests of FrameworksCoreTests specified\n      in FrameworksTestsFilter.\n  $ tradefed.sh run commandAndExit FrameworksCoreTests \\\n      --instrumentation-arg filter\u003dcom.android.server.wm.test.filters.FrameworksTestsFilter\n      --include-annotation android.platform.test.annotations.Presubmit \\\n      --exclude-annotation androidx.test.filters.FlakyTest\n\nTest: Pass all 133 non-flaky presubmit tests of FrameworksServicesTests\n      specified in FrameworksTestsFilter.\n  $ tradefed.sh run commandAndExit FrameworksServicesTests \\\n      --instrumentation-arg filter\u003dcom.android.server.wm.test.filters.FrameworksTestsFilter\n      --include-annotation android.platform.test.annotations.Presubmit \\\n      --exclude-annotation androidx.test.filters.FlakyTest\n\nTest: Pass all 162 non-flaky presubmit tests of FrameworksServicesTests\n      specified as under package com.android.server.wm.\n  $ tradefed.sh run commandAndExit FrameworksServicesTests \\\n      --instrumentation-arg selectTest\u003dcom.android.server.wm. \\\n      --instrumentation-arg filter\u003dcom.android.server.wm.test.filters.FrameworksTestsFilter\n      --include-annotation android.platform.test.annotations.Presubmit \\\n      --exclude-annotation androidx.test.filters.FlakyTest\nBug: 122451194\n\nChange-Id: I9592ff01158eec1b4ef4d0dd22be243e10bd198e\nMerged-In: I9592ff01158eec1b4ef4d0dd22be243e10bd198e\n"
    },
    {
      "commit": "e4329dc3ef4c8bc67effb61722019693e92d8518",
      "tree": "80966c9b14e41fcb57b07bab284c7e860251a250",
      "parents": [
        "e8e340f096e47e02dd3fca5de524983f8936c064",
        "82eb7a5f63dd893e576d36db01f003062e66a740"
      ],
      "author": {
        "name": "Tadashi G. Takaoka",
        "email": "takaoka@google.com",
        "time": "Tue Mar 26 16:08:51 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 26 16:08:51 2019 +0000"
      },
      "message": "Merge \"Rename WM test filter to FrameworksTestsFilter\""
    },
    {
      "commit": "82eb7a5f63dd893e576d36db01f003062e66a740",
      "tree": "a9696977165ba36cb5034ff83d2eea8f5a79d749",
      "parents": [
        "2f662e647796caa52cf0d73a26b1b1ae2fe20e5a"
      ],
      "author": {
        "name": "Tadashi G. Takaoka",
        "email": "takaoka@google.com",
        "time": "Tue Mar 26 18:22:01 2019 +0900"
      },
      "committer": {
        "name": "Tadashi G. Takaoka",
        "email": "takaoka@google.com",
        "time": "Tue Mar 26 22:15:22 2019 +0900"
      },
      "message": "Rename WM test filter to FrameworksTestsFilter\n\nThis CL adds android.view.InsetsAnimationControllerImplTest to the\ntest filter, and adds a comment to each tests mentioning about\nFrameworksTestsFilter.\n\nTest: Pass all 91 non-flaky presubmit tests in FrameworksCoreTests\n      using FrameworksTestsFilter\n  $ tradefed.sh run commandAndExit FrameworksCoreTests \\\n      --instrumentation-arg selectTest\u003dcom.android.server.wm. \\\n      --instrumentation-arg filter\u003dcom.android.server.wm.test.filters.FrameworksTestsFilter\n      --include-annotation android.platform.test.annotations.Presubmit \\\n      --exclude-annotation androidx.test.filters.FlakyTest\nBug: 122451194\n\nChange-Id: I9592ff01158eec1b4ef4d0dd22be243e10bd198e\n"
    },
    {
      "commit": "f3b59b3ee0e33a8ff5938a23a38d372c4a486b75",
      "tree": "8245dcd94f715552f867f46b09130273be160a76",
      "parents": [
        "ac3406f9c6eb72f6f538f31274d4c15422599758"
      ],
      "author": {
        "name": "lucaslin",
        "email": "lucaslin@google.com",
        "time": "Tue Mar 26 17:49:49 2019 +0800"
      },
      "committer": {
        "name": "lucaslin",
        "email": "lucaslin@google.com",
        "time": "Tue Mar 26 17:49:49 2019 +0800"
      },
      "message": "Fix flaky test for ConnectivityServiceTest#testPartialConnectivity\n\nThere are 2 problems will make testPartialConnectivity flaky:\n1. If we call setNetworkValid() before expectCapabilitiesWith(),\nthere may be a timing issue that network will become VALID before\nNetworkMonitor send PARTIAL_CONNECTIVITY to ConnectivityService.\nSolution:\nWe should set network to valid after ConnectivityService received\nNETWORK_TEST_RESULT_PARTIAL_CONNECTIVITY to ensure NetworkMonitor\nwill send PARTIAL_CONNECTIVITY to ConnectivityService first then\nsend VALID.\n\n2. When test case call explicitlySelected(true) first then call\nconnect(true), NetworkMonitor will report the network validation\ntest result twice because ConnectivityServiceTest() will trigger\nnotifyNetworkTested() when setAcceptPartialConnectivity() is\ncalled, it may cause a timing that before the second test result\nsend to ConnectivityService, connect() already called\nsetNetworkInvalid. So, NET_CAPABILITY_VALIDATED will be removed\nand ConnectivityService will trigger onCapabilitiesChanged()\nunexpectedly.\nSolution:\nDon\u0027t trigger notifyNetworkTested() when\nsetAcceptPartialConnectivity() is called. If there is needed,\nuse mCm.reportNetworkConnectivity() to report the test result\ninstead.\n\nBug: 128426024\nTest: 1. atest FrameworksNetTests: \\\n      ConnectivityServiceTest#testPartialConnectivity \\\n      --generate-new-metrics 1000\n\nChange-Id: I7200528378201a3c7c09a78ff827b41f2741dfa1\n"
    },
    {
      "commit": "5166be8b042f9ef6872f7a2d2cd51f191cbcfc6a",
      "tree": "8b182d2a7a6856dbc910f6ccb67ce3d917cd4fcd",
      "parents": [
        "0f3b0953e112dafb292a9eec70d0acb932d05a60",
        "1eb060554d68ca2980f88764748cb6ef91d59448"
      ],
      "author": {
        "name": "Junyu Lai",
        "email": "junyulai@google.com",
        "time": "Tue Mar 26 00:13:47 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Mar 26 00:13:47 2019 -0700"
      },
      "message": "Merge \"Reveal the call trace of failed test cases which run in executors\" am: bb8954df3b am: 1a48fc466d\nam: 1eb060554d\n\nChange-Id: I023c8140c94966479db7f12647838699324462af\n"
    },
    {
      "commit": "1eb060554d68ca2980f88764748cb6ef91d59448",
      "tree": "0b07a8c5db93a05f01afb193aa99e6aa6b4b836f",
      "parents": [
        "582cf391a5f0ad61513f079f7133602104ec4b8d",
        "1a48fc466da9ae88c11f3771c72a9089ac5f41df"
      ],
      "author": {
        "name": "Junyu Lai",
        "email": "junyulai@google.com",
        "time": "Tue Mar 26 00:03:27 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Mar 26 00:03:27 2019 -0700"
      },
      "message": "Merge \"Reveal the call trace of failed test cases which run in executors\" am: bb8954df3b\nam: 1a48fc466d\n\nChange-Id: I1a2d312842f33a9b7b98da925b332becaece3cb2\n"
    },
    {
      "commit": "bb8954df3bc4d8f0b04231add412942bd86e8f51",
      "tree": "86dda396da6d3976a4ef4d3c69d971a9c42458f6",
      "parents": [
        "06bdf061f00cf6017976e8b26da007729c800e10",
        "afe9b49f0ba2c617dec23d21cdf3871ef8c5fd6c"
      ],
      "author": {
        "name": "Junyu Lai",
        "email": "junyulai@google.com",
        "time": "Tue Mar 26 06:38:39 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 26 06:38:39 2019 +0000"
      },
      "message": "Merge \"Reveal the call trace of failed test cases which run in executors\""
    },
    {
      "commit": "266868246a4024295010a0fc9ecc475df34f8b24",
      "tree": "691e22a8bd6db055bf7ce33f03eaebf4db9d4e51",
      "parents": [
        "64bb980f457d843026fd301e05b666a84441d96d"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue Mar 26 11:40:34 2019 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue Mar 26 12:05:27 2019 +0900"
      },
      "message": "Use SystemApi framework parcelables directly\n\nRemove StaticIpConfigurationParcelable and ApfCapabilitiesParcelable and\nuse StaticIpConfiguration and ApfCapabilities directly.\nThese two classes are SystemApi and defined in framework.jar, so no\nstability guarantee is needed: the parceled and unparceled class will\nalways be the framework.jar version.\n\nBug: 126477266\nFixes: 126477266\nTest: atest FrameworksNetTests NetworkStackTests\nTest: flashed, booted, WiFi and captive portal works.\nChange-Id: Iaf80ae23e003752cc6d2300700021931923b6533\n"
    }
  ],
  "next": "b7d958b944d389cb44212b20b3945a7ccbde68fa"
}
