)]}'
{
  "log": [
    {
      "commit": "e696cf636d24906aaf1922d161a82e4f917be1c4",
      "tree": "64fd09d2db092e82ccf2f615d6eca83258dd7e5d",
      "parents": [
        "067749725e6a7c5638ea386db64ed71bed2fc867",
        "bbabc51b5b13fdce80157deffdcf7f35d7905641"
      ],
      "author": {
        "name": "android-build-team Robot",
        "email": "android-build-team-robot@google.com",
        "time": "Wed May 02 19:17:27 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 02 19:17:27 2018 +0000"
      },
      "message": "Merge changes from topic \"ifaceStatsDetail\" into pi-dev\n\n* changes:\n  Remove the unused file parsing function\n  Use eBPF map data for per iface stats\n"
    },
    {
      "commit": "0b96d863c6e71ea1d6688d361a817746da68ad6f",
      "tree": "c96a52cf2844059e9e7fc5dbde89e0ad0dd5414e",
      "parents": [
        "12f404e3e33c21a4f0d634698bef94c219ec48ab",
        "86900d817f621be68db88074e0780ded6bbb5756"
      ],
      "author": {
        "name": "Gopinath Elanchezhian",
        "email": "gelanchezhian@google.com",
        "time": "Wed May 02 18:24:30 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 02 18:24:30 2018 +0000"
      },
      "message": "Merge \"Add \u0027ss\u0027 trace category in app launch test.\" into pi-dev"
    },
    {
      "commit": "bbabc51b5b13fdce80157deffdcf7f35d7905641",
      "tree": "85c217690769e9fef0a7b2be4672a486766fc6e1",
      "parents": [
        "804be4a3bc6f9f631bce5241cafa32f2408cbcb6"
      ],
      "author": {
        "name": "Chenbo Feng",
        "email": "fengc@google.com",
        "time": "Tue May 01 13:51:13 2018 -0700"
      },
      "committer": {
        "name": "Chenbo Feng",
        "email": "fengc@google.com",
        "time": "Tue May 01 19:48:03 2018 -0700"
      },
      "message": "Remove the unused file parsing function\n\nWith the new xt_bpf support for iface stats. We no longer need to parse\nthe per interface stats from /proc/net/dev. And since the old xt_qtaguid\ncode path also not depend on it, we can completly remove that helper\nfunction since no caller is depending on it now.\n\nBug: 72111305\nTest: runtest frameworks-net -c com.android.internal.net.NetworkStatsFactoryTest\nChange-Id: Icb7eaeef0eeb9fdffd32a90316c76ee05bafffbe\nMerged-In: Icb7eaeef0eeb9fdffd32a90316c76ee05bafffbe\n(cherry picked from aosp commit b815c978b81eee4b1494bd0b9d25bfad52f08b72)\n"
    },
    {
      "commit": "7f556daa41b727bef3da1e8bad02a89ed904f32b",
      "tree": "983d7299439a1072433d00626975587cfb6d6550",
      "parents": [
        "d6dbebf7ba9372afa7a68159a1ffab37ab387743",
        "f955e56d51dac0fade192b544af5679d3d8193ac"
      ],
      "author": {
        "name": "Tyler Gunn",
        "email": "tgunn@google.com",
        "time": "Tue May 01 20:27:15 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 01 20:27:15 2018 +0000"
      },
      "message": "Merge \"Require READ_CALL_LOG permission to see phone numbers in phone state.\" into pi-dev"
    },
    {
      "commit": "86900d817f621be68db88074e0780ded6bbb5756",
      "tree": "73b155b4e3e9d1e53c293b718dac40f7bf2a7f61",
      "parents": [
        "d6dbebf7ba9372afa7a68159a1ffab37ab387743"
      ],
      "author": {
        "name": "gopinath",
        "email": "gelanchezhian@google.com",
        "time": "Mon Apr 30 14:50:09 2018 -0700"
      },
      "committer": {
        "name": "Gopinath Elanchezhian",
        "email": "gelanchezhian@google.com",
        "time": "Tue May 01 19:19:01 2018 +0000"
      },
      "message": "Add \u0027ss\u0027 trace category in app launch test.\n\nBug: b/78898738\n\nTest: atest google/perf/app-startup/hermetic-apps/cold-dropcache-stable-test -v\nChange-Id: Id69edfa6903e077b2434e8474a7034f136aadecb\n(cherry picked from commit a6adc072351f1ca5e29bd9ae92dce0419f9a5b56)\n"
    },
    {
      "commit": "f955e56d51dac0fade192b544af5679d3d8193ac",
      "tree": "9af30f17af98970b4b4123e0f53bc04fbcd587ae",
      "parents": [
        "fd935d3a126c4cfe643765d500a4fbed11d77b9b"
      ],
      "author": {
        "name": "Tyler Gunn",
        "email": "tgunn@google.com",
        "time": "Thu Apr 26 14:43:31 2018 -0700"
      },
      "committer": {
        "name": "Tyler Gunn",
        "email": "tgunn@google.com",
        "time": "Fri Apr 27 08:44:07 2018 -0700"
      },
      "message": "Require READ_CALL_LOG permission to see phone numbers in phone state.\n\nIncoming and outgoing call phone numbers are visible in the phone state\nbroadcast and via the PhoneStateListener.  To enhance user privacy, change\nto require the READ_CALL_LOG permission in order to receive the call\nphone numbers.\n\nThis means to see phone numbers:\n1. android.intent.action.PHONE_STATE - requires READ_PHONE_STATE and\nREAD_CALL_LOG permission.\n2. PhoneStateListener#onCallStateChanged - now required READ_CALL_LOG\npermission.\n\nTo support this new behavior, added sendBroadcastAsUserMultiplePermissions\nmethod to context to allow sending the broadcast to all users while\nrequiring the two permissions.\n\nBug: 78650469\nTest: Created PHONE_STATE broadcast receiver in test app and verified that\nwhen no permissions are granted, the phone number is empty for incoming\nand outgoing calls.\nTest: Granted Phone state permission to test app and verified that phone\nnumber is not populated.\nTest: Granted test app read call log permission and verified that phone\nnumber is populated.\nTest: Created PhoneStateListener in test app and verified that when no\npermissions are granted, phone number is empty for incoming and outgoing.\ncalls.\nTest: Granted read call log permission to test app and verified that both\nthe incoming and outgoing numbers are populated.\n\nChange-Id: I857ea00cc58a0abbb77960643f361dd6dd9c8b56\n"
    },
    {
      "commit": "825c73948692d3b71609ddd672c197d74956a8a9",
      "tree": "26a874ea09a65dfc63629c8e2c0aba42da0e1698",
      "parents": [
        "ad8159bea0693a756e5b8f8e9aa2e17fdfecd1ce"
      ],
      "author": {
        "name": "Bernie Innocenti",
        "email": "codewiz@google.com",
        "time": "Thu Apr 19 20:53:00 2018 +0900"
      },
      "committer": {
        "name": "Bernie Innocenti",
        "email": "codewiz@google.com",
        "time": "Tue Apr 24 21:28:49 2018 +0900"
      },
      "message": "apf: Add immediate encoding tests for LI\n\nThis tests that ApfGenerator knows how to optimally encode positive and\nnegative immediates of various sizes.\n\nEquivalent tests will follow for LDDW and STDW.\n\nChange-Id: Ia904aecb155c78569e3cf32a2431570281570481\nBug: 73804303\nTest: runtest tests/net/java/android/net/apf/ApfTest.java\n(cherry picked from commit 18050000d76b5458938e5b563e2374dbd2d5831e)\n"
    },
    {
      "commit": "26400490a20217818803bd8892413e8a301f5598",
      "tree": "42fc8ce972ebaaa2205f3e5852f084dff2ea41b5",
      "parents": [
        "fb0c87e8b403cee5b0c10ad1fd52625b4998e731"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Wed Apr 18 20:18:38 2018 +0900"
      },
      "committer": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Tue Apr 24 17:32:00 2018 +0900"
      },
      "message": "Make sure getActiveNetwork is consistent with default callbacks\n\nBug: 77737389\nTest: runtest framework-net\n      new test don\u0027t pass without the main code change, but they\n      do with it\nChange-Id: I0cd83a935ab0b349aa47e065b830e5a43ab9a091\n"
    },
    {
      "commit": "fb0c87e8b403cee5b0c10ad1fd52625b4998e731",
      "tree": "167f6d18289bb06861d08127b202e0131f1ee6ab",
      "parents": [
        "d5a1bb621a05d414ed630643898f98081893f71b"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Wed Apr 18 19:18:58 2018 +0900"
      },
      "committer": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Tue Apr 24 15:23:28 2018 +0900"
      },
      "message": "Add tests for getActiveNetwork.\n\nBug: 77737389\nTest: runtest frameworks-net\nChange-Id: I03ae2bbb08559f2cd44979e291c1f5d50eb215da\n"
    },
    {
      "commit": "f0f364f2c51ff598c9a42ca0fcb05b85dd9b8557",
      "tree": "feee1f3ff5858fac5c1c8bac4bfc577a985a03b9",
      "parents": [
        "cf893ac40cf66f85cec575166e862c9ef2250735"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Wed Apr 11 18:58:52 2018 +0900"
      },
      "committer": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Mon Apr 23 13:58:42 2018 +0900"
      },
      "message": "Let DnsManager fill in LinkProperties for private DNSes\n\nTest: new tests pass\nBug: 73641539\nChange-Id: I971ef4d27b22a435d7459e1c4b31a8715ef6e610\n"
    },
    {
      "commit": "580a1ed904efa3ebf42b16e9fe70ac3afafd0e28",
      "tree": "36af815f4c5eab91375e9968bbd74adfb4097477",
      "parents": [
        "f12a2130a42ae6c7d05c4edcd2cc2f922cc9c129",
        "deb145d2334635dc15781415603ff3a8559e7c49"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Apr 20 11:41:52 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 20 11:41:52 2018 +0000"
      },
      "message": "Merge \"Adjust APF interpreter tests to match APFv4\" into pi-dev"
    },
    {
      "commit": "f12a2130a42ae6c7d05c4edcd2cc2f922cc9c129",
      "tree": "53fac4287790afdd537e324f1029caf9683d3831",
      "parents": [
        "db704ca8bfe48e9023985b76bff57483efc03b1d",
        "9419b114582c50bebd2b02733a24cf34f6bf68e0"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Apr 20 11:23:56 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 20 11:23:56 2018 +0000"
      },
      "message": "Merge \"Add the list of private DNS addresses to LinkProperties\" into pi-dev"
    },
    {
      "commit": "deb145d2334635dc15781415603ff3a8559e7c49",
      "tree": "4625785f53c038304190f95e0159095bf05ef097",
      "parents": [
        "6d9f7943fb1ce93c12b1c7c710d9dbbbd761ab0a"
      ],
      "author": {
        "name": "Bernie Innocenti",
        "email": "codewiz@google.com",
        "time": "Mon Apr 16 23:27:51 2018 +0900"
      },
      "committer": {
        "name": "Bernie Innocenti",
        "email": "codewiz@google.com",
        "time": "Fri Apr 20 17:37:09 2018 +0900"
      },
      "message": "Adjust APF interpreter tests to match APFv4\n\nChange-Id: I4311c754f1cb79633d49c5c1c0b4e27c8dde727e\nBug: 73804303\nTest: runtest -x tests/net/java/android/net/apf/ApfTest.java\n(cherry picked from commit 545d9367e24d1d55b2539c02273f92c61da74af0)\n"
    },
    {
      "commit": "9419b114582c50bebd2b02733a24cf34f6bf68e0",
      "tree": "12337182b9e46aa4065d8c9820f574ab70953da7",
      "parents": [
        "1b144e6dab4180122187d82479ff75b4f676dc69"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Wed Apr 11 16:36:41 2018 +0900"
      },
      "committer": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Fri Apr 20 16:48:43 2018 +0900"
      },
      "message": "Add the list of private DNS addresses to LinkProperties\n\nTest: atest android.net.LinkPropertiesTest, also new tests pass\nBug: 73641539\nChange-Id: If33a35b1354a67db09411ff098f20064797296ad\n"
    },
    {
      "commit": "21799f8b05041acf0ec89c02077f5e3e7513344d",
      "tree": "1951224364fc5c6068be659ff60a2f7741e1062c",
      "parents": [
        "96b4b4bd4ecd3006e64a29da04691da534342069"
      ],
      "author": {
        "name": "gopinath",
        "email": "gelanchezhian@google.com",
        "time": "Thu Apr 19 17:54:06 2018 -0700"
      },
      "committer": {
        "name": "Gopinath Elanchezhian",
        "email": "gelanchezhian@google.com",
        "time": "Fri Apr 20 00:59:12 2018 +0000"
      },
      "message": "Add more trace categories.\n\nAdd tracing for additional filters as well.\n\nBug : b/78244687, b/78301352\n\nTest: atest hot-nodropcache-stable-test\nChange-Id: Ie6fd109b645c92dcfa414e3c41cc5f43032fe6fd\n"
    },
    {
      "commit": "1b144e6dab4180122187d82479ff75b4f676dc69",
      "tree": "ec7c5f0fa8968a2319a6f4c138cf3d0729b75617",
      "parents": [
        "ba199f56ca878780f833e40247c1df6cb16a531a",
        "408dbda4c1fbee064c7878ef5cfb000e58027a5f"
      ],
      "author": {
        "name": "Bernie Innocenti",
        "email": "codewiz@google.com",
        "time": "Wed Apr 18 11:26:55 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 18 11:26:55 2018 +0000"
      },
      "message": "Merge \"Teach ApfGenerator about the new opcodes for accessing data memory\" into pi-dev"
    },
    {
      "commit": "6b649257377b4ba2dd8a2a02b8dd692a72a2cc1e",
      "tree": "f06149447b480ee548d00896ec5847adee3896a8",
      "parents": [
        "167032ab002714d26a14735bbcdc072c5fa693b7"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Apr 16 09:50:22 2018 -0600"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Apr 16 12:44:32 2018 -0600"
      },
      "message": "Protect usage data with OP_GET_USAGE_STATS.\n\nAPIs that return package usage data (such as the new StatsManager)\nmust ensure that callers hold both the PACKAGE_USAGE_STATS permission\nand the OP_GET_USAGE_STATS app-op.\n\nAdd noteOp() method that can be called from native code.\n\nAlso add missing security checks on command interface.\n\nBug: 77662908, 78121728\nTest: builds, boots\nChange-Id: Ie0d51e4baaacd9d7d36ba0c587ec91a870b9df17\n"
    },
    {
      "commit": "408dbda4c1fbee064c7878ef5cfb000e58027a5f",
      "tree": "96e7161874d4b715d87a93dcf569c633f4562a44",
      "parents": [
        "5f91d5ee942ed2af54349a2a78f635237a84dbb4"
      ],
      "author": {
        "name": "Bernie Innocenti",
        "email": "codewiz@google.com",
        "time": "Thu Mar 22 23:07:47 2018 +0900"
      },
      "committer": {
        "name": "Bernie Innocenti",
        "email": "codewiz@google.com",
        "time": "Mon Apr 16 21:22:41 2018 +0900"
      },
      "message": "Teach ApfGenerator about the new opcodes for accessing data memory\n\nBug: 73804303\nBug: 36221302\nTest: runtest -x tests/net/java/android/net/apf/ApfTest.java\nChange-Id: Iaf92ca0bbebaaf66d0f2f7adc1a9014607f3ecf6\n(cherry picked from commit a9949e9e2599c5f97bf83c12c8f4fa66be9dd294)\n"
    },
    {
      "commit": "5a8bcd90315c24e2f16176fd13922b2a92752cd5",
      "tree": "6c05f7553d421b541286347ca0299217730dd8c8",
      "parents": [
        "213639c93e6795c248c18ab2c16858ac28f36abd"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Apr 13 13:29:59 2018 -0600"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@google.com",
        "time": "Fri Apr 13 19:32:25 2018 +0000"
      },
      "message": "OP_GET_USAGE_STATS should be noted, not checked.\n\nPer email feedback, we should be using \"noteOp\" instead of \"checkOp\"\nwhen testing if caller holds OP_GET_USAGE_STATS, so that we record\nthat caller used the operation.\n\nBug: 77662908\nTest: builds, boots\nExempt-From-Owner-Approval: keep tests passing\nChange-Id: I3a60345d590534fdbc2c1248e0d30dc85a5d6772\n"
    },
    {
      "commit": "878d0e90b5cca05658b7f6b0bcc00dc3f5be838f",
      "tree": "6988d512c330faa343eef24794a7c401290c9f36",
      "parents": [
        "df88614db2c408a45518bd51a28705b542525c73",
        "b03a6229b82ba16520468ddda79ac1ee395aa983"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Apr 13 08:59:23 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 13 08:59:23 2018 +0000"
      },
      "message": "Merge \"Add a new ssid field in NetworkCapabilities.\" into pi-dev"
    },
    {
      "commit": "b03a6229b82ba16520468ddda79ac1ee395aa983",
      "tree": "2773dd3080e13be04c6df72f20f4411b10341898",
      "parents": [
        "5f91d5ee942ed2af54349a2a78f635237a84dbb4"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Wed Apr 11 21:09:10 2018 +0900"
      },
      "committer": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Fri Apr 13 15:38:35 2018 +0900"
      },
      "message": "Add a new ssid field in NetworkCapabilities.\n\nBug: 77891227\nTest: frameworks-net\nChange-Id: Ifba33ecd48ccecce7e8f8d05ff70bb85653f6163\n"
    },
    {
      "commit": "9553a11557528a91d5a51134e9a20c26f5ef69cf",
      "tree": "331005be1ca0787d9837600d5aa524a25ce7cb39",
      "parents": [
        "133f93bbbb699f483a44dd87ee987cde16469a03",
        "be43ac86865c8013bef120f1f327c2cfe98ebfe8"
      ],
      "author": {
        "name": "Chavi Weingarten",
        "email": "chaviw@google.com",
        "time": "Wed Apr 11 16:53:42 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 11 16:53:42 2018 +0000"
      },
      "message": "Merge \"Synchronize stack position and size update for split screen\" into pi-dev"
    },
    {
      "commit": "4df92ef6f1fd4bc20c02a499b58d0fbe6fa1e20d",
      "tree": "5f57d24ff8cff88f3928781370d6603683ebcbdb",
      "parents": [
        "cf54c0451a62e8aee02be695e11bf294db4ca820",
        "80b7a9f1b5ba5a6117f6b020121f06a2d0cd1889"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Wed Apr 11 03:01:25 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 11 03:01:25 2018 +0000"
      },
      "message": "Merge \"Don\u0027t unnecessarily reevaluate tethering provisioning\" into pi-dev"
    },
    {
      "commit": "cf54c0451a62e8aee02be695e11bf294db4ca820",
      "tree": "e5b3a67287eae0107b181665f91d95bebd00db67",
      "parents": [
        "c7292ffae3378388537b5aa59ac4908ffe0ceb0f",
        "6a7a5a1c3b11cc229a75fa6390f5769b323d0c23"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Wed Apr 11 02:53:14 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 11 02:53:14 2018 +0000"
      },
      "message": "Merge \"Added tests for MultipathPolicyTracker.\" into pi-dev"
    },
    {
      "commit": "be43ac86865c8013bef120f1f327c2cfe98ebfe8",
      "tree": "ccdf8e4b281121734c476950ca34370b67053a84",
      "parents": [
        "6f99da88db2e59bbfba82d079370130d4026ce12"
      ],
      "author": {
        "name": "chaviw",
        "email": "chaviw@google.com",
        "time": "Wed Apr 04 15:14:49 2018 -0700"
      },
      "committer": {
        "name": "chaviw",
        "email": "chaviw@google.com",
        "time": "Tue Apr 10 18:11:19 2018 -0700"
      },
      "message": "Synchronize stack position and size update for split screen\n\nWhen entering split screen, the secondary window changes position so\nit\u0027s below the primary split screen when minimized. The WSA at the same\ntime is also changing size to fit the area. However, the size doesn\u0027t\nchange until the client requests a new size and a frame with the correct\nsize comes in. This causes the stack to update position before the\nresize which causes content to get cut off and then a jump when the resize\ncompletes.\n\nThis change updates the WSA position as soon as it recognizes that the\nstack changed position due to entering split screen secondary. The WSA\nsets its position as the negative of the stack position, making the\ncalculated window position at (0,0). When a relayout is requested, the\nWSA\u0027s position is requested back to (0,0), deferring until the new frame.\nThis will put the WSA position at (0,0) when a frame with the correct size\nis drawn. This places the window position at the stack\u0027s new position in\nthe same transaction that a WSA frame with the new size is drawn.\n\nChange-Id: I8c88d7784f827d66926fb5c382af2346028dc48f\nFixes: 74354855\nTest: Entering split screen with quick step is smooth\nTest: Entering split screen with old launcher still works\n"
    },
    {
      "commit": "0e675bd901716b9e979bb83d724efaeb5e42f3b8",
      "tree": "945135d5aadec7ebe2d1f439297423cc06c1e6e4",
      "parents": [
        "54d87890297df02bc4826f30837810d0b48a3035",
        "b0284fb5de8832331a049e44e2ba9f67931013f3"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 10 16:34:05 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 10 16:34:05 2018 +0000"
      },
      "message": "Merge \"Exempt tests for hidden APIs.\" into pi-dev"
    },
    {
      "commit": "6a7a5a1c3b11cc229a75fa6390f5769b323d0c23",
      "tree": "6300bb5ca6297489980555c3ad3744c71cb903e5",
      "parents": [
        "616a2144402d5c7fcf342da557a2023469fc3c1c"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Mon Apr 02 21:18:52 2018 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue Apr 10 15:27:59 2018 +0900"
      },
      "message": "Added tests for MultipathPolicyTracker.\n\nTest: atest com.android.server.connectivity.MultipathPolicyTrackerTest\nBug: b/72631572\nBug: b/72877610\nChange-Id: I33d9cd77948ff76008a125e4e2786fbbc2b03032\n"
    },
    {
      "commit": "1fcb7398d13fbab686fdc2c209105af4865757af",
      "tree": "fb37faab2e3898466a04be8d53c578bfb6f40707",
      "parents": [
        "b4a372db17034a694ec80b13e287f45681fdf11a"
      ],
      "author": {
        "name": "dalyk",
        "email": "dalyk@google.com",
        "time": "Mon Mar 05 12:42:22 2018 -0500"
      },
      "committer": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Mon Apr 09 23:04:20 2018 -0700"
      },
      "message": "Trigger NetworkCallback events when private DNS usage has changed.\n\nRelies on events sent from netd in aosp/578162.\n\nTest: Added tests to ConnectivityServiceTest. Added a new test\nclass DnsManagerTest. Built a simple app that appears to\nreceive onLinkProperties events correctly upon manual changes\nto the private DNS settings on a Pixel.\nBug: 71828272\n\nMerged-In: I1e6c54ba016f6a165a302bd135a29d9332aaa235\nMerged-In: I7705412803fb9aa707a18ae5a1c50292e084d851\nChange-Id: I3223c1285a73d5d531c5051ce70007857caa57e3\n(cherry picked from commit 7301aa4140baefb549a737f033fc512e87c55692)\n"
    },
    {
      "commit": "80b7a9f1b5ba5a6117f6b020121f06a2d0cd1889",
      "tree": "e936f17dd9018477b88573de4d34027a0c6883ae",
      "parents": [
        "b4a372db17034a694ec80b13e287f45681fdf11a"
      ],
      "author": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Wed Feb 28 15:01:35 2018 +0900"
      },
      "committer": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Mon Apr 09 21:17:29 2018 -0700"
      },
      "message": "Don\u0027t unnecessarily reevaluate tethering provisioning\n\nRegistering for carrier config changes can deliver a sticky broadcast\nand can cause Tethering to think something has changed and reevaluate\nprovisioning status, even though this has been checked before it\nentered tethering mode alive state.\n\nAdditionally, move the provisioning_app{,no_ui} resources into the\nTetheringConfiguration, if for no other reason than now we can log\nit in .toString().\n\nTest: as follows\n    - built\n    - flashed\n    - booted\n    - runtest frameworks-net passes\n    - manual USB tethering toward WiFi works\nBug: 69565814\nChange-Id: Ib8b2620ce44c55e5eb0afd3f00f3f5aa4fc8a593\n(cherry picked from commit 8067d78c32f545db6d35c660279ab3f2326ba41d)\n"
    },
    {
      "commit": "d74a971fc2f3464acc7083fbc79f04d6ab46bc9d",
      "tree": "455353ea4751a6737dfa8121146ec45e1c626fe3",
      "parents": [
        "69ade357413ea66fab63fe13be2efd68fd8e3a4f",
        "5e9b4c7c338e31b9acc2e4d3fb877202e435a32e"
      ],
      "author": {
        "name": "Benedict Wong",
        "email": "benedictwong@google.com",
        "time": "Mon Apr 09 20:55:30 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 09 20:55:30 2018 +0000"
      },
      "message": "Merge \"Force creation of Socket upon Transform application\" into pi-dev"
    },
    {
      "commit": "d7375ac9d79b86ffae9fc1e0d92505b6bfa57eb0",
      "tree": "8e0e085835dbeaa431f8d785e88830078d3240a3",
      "parents": [
        "4f9d750e91061923da90ef174a592fc59d0eff9e"
      ],
      "author": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Mon Mar 12 23:18:58 2018 +0900"
      },
      "committer": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Mon Apr 09 03:05:37 2018 -0700"
      },
      "message": "Support bluetooth not using MultinetworkPolicyTracker\n\nThis required advancing the IpManager to IpClient refactoring\n(Bluetooth used IpManager and friends). Most importantly, the\nBluetooth code used WaitForProvisioningCallback, so this is\nmoved into IpClient proper now. Also: some more renaming\ncleanup.\n\nTest: as follows\n    - built\n    - flashed\n    - booted\n    - runtest frameworks-net passes\nBug: 62476366\nBug: 72663849\n\nMerged-In: I5e5b2c59ad3ea9ad574e8e683bcab3b09cfe0791\nMerged-In: I89b45310181d952129fb2294db63654da9b4057f\nChange-Id: I9eee2a9d5c31cdd48a054a7edc3403584efb1864\n(cherry picked from commit 8d1fe54be1b605846cca9dfe4a966b3c5e739caa)\n"
    },
    {
      "commit": "b0284fb5de8832331a049e44e2ba9f67931013f3",
      "tree": "32a34a96c50e2aec4e1b411b9763d015d26c5bae",
      "parents": [
        "ddeaefb546c15f26bf7d4372a0d3e000463c7a5e"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Apr 06 14:03:18 2018 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Apr 06 14:54:39 2018 +0100"
      },
      "message": "Exempt tests for hidden APIs.\n\nBug: 64382372\nBug: 74963051\nTest: m\nChange-Id: I5234dd6230f2bdd6ffccbf12b25a02d929d20161\n"
    },
    {
      "commit": "8d8a35a90ec568da101f3e05dc8f12b58f99af5b",
      "tree": "869f38eda63a88ccf286e8033b9bbdda220e4026",
      "parents": [
        "0c42369361f08c316d864de085b573edeb95d8b5",
        "79c6d0590ed178c4995d05cf2fb49662b0055686"
      ],
      "author": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Fri Apr 06 06:48:25 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 06 06:48:25 2018 +0000"
      },
      "message": "Merge \"Move the logic of (re)evaluation of Private DNS\" into pi-dev"
    },
    {
      "commit": "79c6d0590ed178c4995d05cf2fb49662b0055686",
      "tree": "4c1d8271e12ab8d7f23aaa4d42c726fdd82121a4",
      "parents": [
        "5ab3cf8bec827ed6cfa3a8e462751e8558728d20"
      ],
      "author": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Wed Mar 21 07:18:33 2018 -0700"
      },
      "committer": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Thu Apr 05 19:18:47 2018 -0700"
      },
      "message": "Move the logic of (re)evaluation of Private DNS\n\nMoves this out of ConnectivityService and into each NetworkMonitor\n(where it\u0027s more self-contained).\n\nTest: as follows\n    - builds, flashes, boots\n    - runtest frameworks-net passes\n    - manual testing with working and non-working hostnames behaves\n      somewhat (but not entirely) as expected, and not always quickly\nBug: 64133961\nBug: 72345192\nBug: 73872000\nBug: 77140445\nMerged-In: I5dc90ecfe6f6f10967b7501645ad8e030cb38982\nMerged-In: Ida4967d22f0781524f0f269e30e653b8ec867258\nChange-Id: Ic4322af3cb49149f2d975cb31f54b2ac7927f907\n(cherry picked from commit 736353a584aa89a29e737e21e29c49fad0d38a63)\n"
    },
    {
      "commit": "3f2c54b7820c3a568890700479230966fdbcf0a4",
      "tree": "8e48c674f80b201bbc7393850cbaed5bb0aaf8ad",
      "parents": [
        "0c2b3185b21b7f84a69559b0b0844ae41af7409f"
      ],
      "author": {
        "name": "Benedict Wong",
        "email": "benedictwong@google.com",
        "time": "Tue Apr 03 20:30:54 2018 -0700"
      },
      "committer": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Thu Apr 05 17:41:11 2018 +0000"
      },
      "message": "Update IpSecManager to use InetAddress and prefixLen\n\nLinkAddress constructors are currently @hide; this change updates\nIpSecManager to use InetAddress and prefixLen, and then construct a\nLinkAddress internally. LinkAddress is used over the binder interface to\nIpSecService to ensure validity.\n\nBug: 77528639\nTest: CTS, Java unit tests ran on walleye\nChange-Id: I19e124adef6d9f4992d8293db3190bcf74c95848\n"
    },
    {
      "commit": "71c632367a798cdf656e6ac51daf0379ee525759",
      "tree": "3663ef1acfb9fe3df32bc37011e51e2345027d6f",
      "parents": [
        "0df72e4065a815a9bdd1a6af510163f9e46d5ea4",
        "3150dbf7a57c7f0332db9c9197ad046023bd6ece"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Apr 05 00:25:34 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 05 00:25:34 2018 +0000"
      },
      "message": "Merge \"WM Tests: Use a separate WindowManager instance per test\" into pi-dev"
    },
    {
      "commit": "5e9b4c7c338e31b9acc2e4d3fb877202e435a32e",
      "tree": "cc96ca5e39b431a455e25f5db227871a604b538a",
      "parents": [
        "b622906dc51a437c2891d004f77039c5ad157a77"
      ],
      "author": {
        "name": "Benedict Wong",
        "email": "benedictwong@google.com",
        "time": "Mon Apr 02 18:12:34 2018 -0700"
      },
      "committer": {
        "name": "Benedict Wong",
        "email": "benedictwong@google.com",
        "time": "Wed Apr 04 10:33:49 2018 -0700"
      },
      "message": "Force creation of Socket upon Transform application\n\nThis change forces Socket and DatagramSocket to populate the\nSocketImpl, ensuring that the socket file descriptor can be\nretrieved when applying Transport mode Transforms\n\nThis is done by calling getSoLinger(), triggering a getImpl(), which\ntriggers setImpl() if needed.\n\nBug: 77491294\nTest: Added tests in IpSecManagerTest, ran on walleye\nMerged-In: I40da08b031357710eb794e0f866aec5660c79594\nChange-Id: I40da08b031357710eb794e0f866aec5660c79594\n(cherry picked from commit d175a3d3a01cfdb5ab6d4e61d15950583f8006d6)\n"
    },
    {
      "commit": "c4020ffcabda67a8d16fda496d9a5abd1880dabe",
      "tree": "3c6601edf88a49827b55ca342793103f1113cb99",
      "parents": [
        "de3569ef84cbe35c7d5e482b8a9d271ed052dd09",
        "83c1e74b1e41f2c093da80ae0eba2442f348cd77"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Apr 04 16:54:46 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 04 16:54:46 2018 +0000"
      },
      "message": "Merge \"Mark networks with OEM_PAID always restricted\" into pi-dev"
    },
    {
      "commit": "83c1e74b1e41f2c093da80ae0eba2442f348cd77",
      "tree": "1e897ace8f2b8240761eb3ddc737b7c4db5edebb",
      "parents": [
        "50228a647183c9315312f8f36ba849f8b1e6d3d0"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Fri Mar 30 09:21:27 2018 +0000"
      },
      "committer": {
        "name": "Pavel Maltsev",
        "email": "pavelm@google.com",
        "time": "Wed Apr 04 05:35:54 2018 +0000"
      },
      "message": "Mark networks with OEM_PAID always restricted\n\nBug: 68762530\nTest: runtest -x frameworks/base/tests/net/ -c android.net.NetworkCapabilitiesTest\n\nCherry-picked from AOSP with no conflicts\n\nMerged-in: I173ee0a3bc1797d03ba34c5f025844eaada87ee4\nChange-Id: I173ee0a3bc1797d03ba34c5f025844eaada87ee4\n(cherry picked from commit efbacc0ccb70917b2782272e6b8f1a0fb3f56cbe)\n"
    },
    {
      "commit": "592dadbd43fcb7c5d67e737adb34d07923da90c4",
      "tree": "5d2502b3b2d1e1c9f2a73644a0c23d86564e2627",
      "parents": [
        "7ee86d1dbce8afa70ff699c7a8414b160aba8b74"
      ],
      "author": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Thu Mar 15 18:06:06 2018 -0700"
      },
      "committer": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Tue Apr 03 18:23:11 2018 +0000"
      },
      "message": "Add AppOps Checks for MANAGE_IPSEC_TUNNELS\n\nAdds support for a new AppOp to permit services to\nuse IpSec tunnel mode. The IpSecService now needs\na context so change the service mode to a cached\nservice rather than a static service.\n\nBug: 66955045\nTest: runtest frameworks-net\nChange-Id: I17a4a286225b432c3e15ea1587d946189931b4f4\n"
    },
    {
      "commit": "5be71dcb03ff689098d992c5455f0a1766c8a2e0",
      "tree": "a0f3bda56bf9f98b9ebf7c1c7721e2caff703569",
      "parents": [
        "60a24b97f75ddb65a75cef75551f2ebafa6fb141"
      ],
      "author": {
        "name": "Bernie Innocenti",
        "email": "codewiz@google.com",
        "time": "Wed Mar 28 20:11:49 2018 +0900"
      },
      "committer": {
        "name": "Bernie Innocenti",
        "email": "codewiz@google.com",
        "time": "Tue Apr 03 16:16:14 2018 +0900"
      },
      "message": "APF: drop multicast ICMPv6 while in doze mode\n\nSome WiFi hotspots send excessive multicast IPv6 ping requests which\ncause considerable power drain. Thus, drop all multicast ICMPv6 ping\nrequests while the device is in doze mode.\n\nBug: 66930077\nTest: runtest -x tests/net/java/android/net/apf/ApfTest.java\nTest: manual - compared generated APF bytecode using apf_disassembler\nTest: manual - force idle mode while sending multicast pings to device\nChange-Id: I25dbf99985cf4413b4d0e3920d281fe6d663197a\n(cherry picked from commit e2c70f8a6092f740ea10e7476b33860d756cf94f)\n"
    },
    {
      "commit": "5a36b3b6ea58af62b4db20240f45aee2df6a73cc",
      "tree": "e769b9aa6e92dfbe6035bc5b49a559f8c13a2d45",
      "parents": [
        "7a8aac8c6e68f3177d7f38e28862647c61b19c86",
        "7a26ba37f6a1205c8914c62c4756f24329317f6b"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 03 02:25:49 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 03 02:25:49 2018 +0000"
      },
      "message": "Merge \"Refactor isTetheringSupported() calls\" into pi-dev"
    },
    {
      "commit": "7a26ba37f6a1205c8914c62c4756f24329317f6b",
      "tree": "3af6ea02b0dcd775b9f38be1252e2c11de1a5846",
      "parents": [
        "ea31cbea935a20d9d290453c2ba2f8b8670e45ca"
      ],
      "author": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Fri Mar 09 14:18:02 2018 +0900"
      },
      "committer": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Mon Apr 02 16:59:23 2018 -0700"
      },
      "message": "Refactor isTetheringSupported() calls\n\nTethering currently wants access to complex isTetheringSupported\nlogic that is only available in ConnectivityService. Instead of\ntrying to access that via ConnectivityManager, pass this capability\nin to Tethering directly, in the TetheringDependencies object.\n\nAlso:\n    - ConnectivityManager is only a source of static constants now,\n      so \"import static\" all the constants that are actually used.\n\nTest: as follows\n    - built\n    - flashed\n    - booted\n    - runtest frameworks-net works\n    - manual USB towards WiFi tethering works\nBug: 68951715\n\nMerged-In: Ifa121b057f9959ddb980edc940327929e48ea973\nMerged-In: Iad6358dc2f1d10b322d22ec90543adc50882962d\nChange-Id: Ia64faaadefb4a5d84a50da98bdebd544b6fda101\n(cherry picked from commit 465ff3a0c1da8afd5cb13b25ed9a3c95ee0dd2c4)\n"
    },
    {
      "commit": "75525b39f4deb8409825fd43195d5f82628ef3e5",
      "tree": "66c3c5d6e39e96d1cfa1cd62d912a3f076c96050",
      "parents": [
        "07daad2dbffa9ce81a5c66adf7f12715bce5516a"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue Feb 27 16:47:22 2018 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Mon Apr 02 13:30:02 2018 +0000"
      },
      "message": "Fix network usage stats on 464xlat tethered.\n\nUsage stats corrections for 464xlat in NetworkStatsFactory are not applied\nto tethered traffic. Add adjustments in NetworkStatsService. After\nmigrating external callers off NetworkStatsFactory, we will be able to\nonly apply adjustments in NetworkStatsService and remove stacked\ninterface tracking from NetworkStatsFactory.\nBug: 72107146\nFixes: 72107146\nTest: runtest frameworks-net \u0026 manual - checked corrected network usage\nMerged-In: Ieb25c41c651499fdd01225ae5ac21d95e3d823f5\nMerged-In: I016722f3a0ae2ae0a1d48bfacc4fe07ee3578ef7\n(cherry-pick of aosp I5ce450e616b4fddf21f2a491fe5d0c9e9f969bda)\n\nChange-Id: Id41cf22a0f9a63cb1832e9375bfb045861f08e52\n"
    },
    {
      "commit": "6e66280d3538bd5985d0b8341ab8bef5caf48f48",
      "tree": "960fabf023a214fa73c4418f094084cbd6c83775",
      "parents": [
        "bf9dfb16be7d58b473cff96a3ab9ac3b2ff33b43",
        "577164bd45544ee0b3c24945643b3ab20b49b663"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Apr 02 09:42:26 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 02 09:42:26 2018 +0000"
      },
      "message": "Merge \"Fix PermissionMonitorTest that has been failing.\" into pi-dev"
    },
    {
      "commit": "4a3ccc18e6ba1ab45ba242f9ceb22c925c14d06d",
      "tree": "8e7327def3a887349ea80d689646e4552cbc9e29",
      "parents": [
        "6f5a8db2e93bc358b211f576aa91cf9fdc7a88de",
        "035dbd438ab454da6236dfda7547f94f6102a4cc"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Apr 02 08:37:20 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 02 08:37:20 2018 +0000"
      },
      "message": "Merge \"apf: adjust JNI to accept_packet()\u0027s new signature\" into pi-dev"
    },
    {
      "commit": "577164bd45544ee0b3c24945643b3ab20b49b663",
      "tree": "266aeb1123241ca8600698a3b184288a540679b8",
      "parents": [
        "6f5a8db2e93bc358b211f576aa91cf9fdc7a88de"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Mon Apr 02 16:16:46 2018 +0900"
      },
      "committer": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Mon Apr 02 07:44:21 2018 +0000"
      },
      "message": "Fix PermissionMonitorTest that has been failing.\n\nThe fail is related to a recent fix to PermissionMonitor\nthat went into pi-dev only : ag/3799094, which fixed getting\nthe remote package name for the correct macro user instead of\nthe default. That fix had broken the test, this change fixes it.\n\nTest: test now passes\nBug: 77315205\nChange-Id: I26f8276eafe80478d5fefcff92e7dc2f12128bb4\n"
    },
    {
      "commit": "035dbd438ab454da6236dfda7547f94f6102a4cc",
      "tree": "ac4c22759bb80ac83301160ddd6865c9579fa2b7",
      "parents": [
        "85e4a97789820424a23a6a63db4f851f1d8d42bb"
      ],
      "author": {
        "name": "Bernie Innocenti",
        "email": "codewiz@google.com",
        "time": "Fri Mar 30 17:12:02 2018 +0900"
      },
      "committer": {
        "name": "Bernie Innocenti",
        "email": "codewiz@google.com",
        "time": "Mon Apr 02 16:27:08 2018 +0900"
      },
      "message": "apf: adjust JNI to accept_packet()\u0027s new signature\n\nBug: 73804303\nTest: runtest -x tests/net/java/android/net/apf/ApfTest.java\nMerged-Id: I0a3ad562496f3e06bc9527af4e038be3cdfe25c6\nMerged-Id: I1674ac22f00af037ad415a4436b94b2eec6a02b7\nMerged-Id: I966776e6574cbf167a6148e20d40e2bdcc887327\nChange-Id: Id5c3cec5459ce6f9693457448002e60bbca6c09b\n(cherry picked from commit 64bc32c5d4ae8a5c479a15615f99180476e9b2fa)\n"
    },
    {
      "commit": "6f5a8db2e93bc358b211f576aa91cf9fdc7a88de",
      "tree": "d3afe8de91ec9ef5a79dc053acc543cb4e2c96c5",
      "parents": [
        "dfa8f0dbcef180d3a9cdeb7311146cc1c0432962",
        "b6a920124f28422877f59bfb32719099a0067d76"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Mon Apr 02 05:40:04 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 02 05:40:04 2018 +0000"
      },
      "message": "Merge \"Add method to NetworkStatsService for UID stats.\" into pi-dev"
    },
    {
      "commit": "ddc4e1ab0647523f62bbc573766b8683dee5f5bf",
      "tree": "d9eb65167aa2490254043f527b0190b704e04548",
      "parents": [
        "35147b2dae7dbf19a670b86aede67a41c60d37b5",
        "7fc0f633bc11c9fd89eb4bd3581ea2e85eaa31c1"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri Mar 30 23:12:31 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 30 23:12:31 2018 +0000"
      },
      "message": "Merge \"Fix BackgroundDexOptTest\" into pi-dev"
    },
    {
      "commit": "7fc0f633bc11c9fd89eb4bd3581ea2e85eaa31c1",
      "tree": "fc7f0c129e5e5ea67c8c8417c87d2e0897fa7ce0",
      "parents": [
        "d9b53a097d0eec2d1112b25a67b28c203e9251f9"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri Mar 30 12:38:59 2018 -0700"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri Mar 30 14:04:48 2018 -0700"
      },
      "message": "Fix BackgroundDexOptTest\n\nTest: atest BackgroundDexOptServiceIntegrationTests\nBug: 76425903\nChange-Id: I19b72b95ee19ebe1807e1ce108a39dec6196a097\n"
    },
    {
      "commit": "36f2d8a4e1247b4556d10691eb8e40b26122f92c",
      "tree": "ac32f575ac66f558b48561171a8171d5df66e4ec",
      "parents": [
        "eff51d566a78efbf6e44fa67bef6689e261079ac",
        "bfa67c81bf88b842fdb63b63b0cfd96e021f82af"
      ],
      "author": {
        "name": "Benedict Wong",
        "email": "benedictwong@google.com",
        "time": "Fri Mar 30 20:28:19 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 30 20:28:19 2018 +0000"
      },
      "message": "Merge changes from topic \"encap-api\" into pi-dev\n\n* changes:\n  Require explicitly supplied truncation length\n  Clarify UDP encapsulation socket API\n"
    },
    {
      "commit": "b6a920124f28422877f59bfb32719099a0067d76",
      "tree": "e8a982540df8827a0e8de4ceccf3e693e542746b",
      "parents": [
        "601861fd1cce308320ebe21e47a48e0c9c68de55"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue Mar 06 12:36:54 2018 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri Mar 30 18:58:18 2018 +0900"
      },
      "message": "Add method to NetworkStatsService for UID stats.\n\nUseful for clients such as BatteryStats which currently rely\non NetworkStatsFactory. Data at that stage is incomplete as\nit does not account for tethering, VT data and corresponding\n464xlat corrections.\n\nTest: runtest frameworks-net, CTS tests pass.\nBug: b/72107146\nMerged-In: I31c5b9b4a7c6e72910152415894a137f000a5858\nMerged-In: I2527d95000c7500c824ede70f87ecb38e21ed323\n(cherry picked from aosp 088ff6824f13145ea52207bdead0d7e454a6f3ce)\n\nChange-Id: Ie80f1bb21124241f3414f9be77aceac9a44ec6d1\n"
    },
    {
      "commit": "671547b2249a3bc2f613ae6279d207084bc30fa4",
      "tree": "55369c78eb1091fb0f21753c111b68b5b555458d",
      "parents": [
        "4140cc106e3e250bc4487c433ecd885bf0d1f7a5",
        "6c02f9942aaf4f6665018e0c7f07aeceb5ae752e"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri Mar 30 09:15:13 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 30 09:15:13 2018 +0000"
      },
      "message": "Merge \"Use InterfaceSet for upstream interfaces.\" into pi-dev"
    },
    {
      "commit": "4140cc106e3e250bc4487c433ecd885bf0d1f7a5",
      "tree": "d0e7fd5e795043152ff1ee7a8774594bec356ca6",
      "parents": [
        "37e8dfa8e97d785431ae866862aa8f1d4adf28c7",
        "5d0dc453e90554e739c5994a417e73a560edc547"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri Mar 30 09:13:50 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 30 09:13:50 2018 +0000"
      },
      "message": "Merge \"Add tests for IPv4 of dual stack tethering.\" into pi-dev"
    },
    {
      "commit": "6c02f9942aaf4f6665018e0c7f07aeceb5ae752e",
      "tree": "e27766b0ff8e607f0d5d4a832af31823f1e3dc1f",
      "parents": [
        "5d0dc453e90554e739c5994a417e73a560edc547"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri Mar 09 14:07:18 2018 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri Mar 30 18:08:52 2018 +0900"
      },
      "message": "Use InterfaceSet for upstream interfaces.\n\nAllows using different upstream interfaces for IPv4 and IPv6.\n\nBug: 38218697\nBug: 64382985\nBug: 64976379\nBug: 64995262\nBug: 64380515\nTest: runtest frameworks-net, manual (with aosp/644099 applied)\n(cherry-pick of aosp I3db63f7aa5255a0229253187def7590a386c5133)\nMerged-In: Ic8602dd029b5a9626aaf6651315b82ab6327037c\nMerged-In: I015ac946afa581be1d94f10ab766ac00f5a4ede0\n\nChange-Id: I8c48dab5eb67e60dadbfa974122fc884f4badd15\n"
    },
    {
      "commit": "5d0dc453e90554e739c5994a417e73a560edc547",
      "tree": "3fcd2b4725efaeff39abe10460b6585c5f6d9637",
      "parents": [
        "601861fd1cce308320ebe21e47a48e0c9c68de55"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Thu Mar 15 11:57:14 2018 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri Mar 30 18:08:52 2018 +0900"
      },
      "message": "Add tests for IPv4 of dual stack tethering.\n\nAlso refactoring some Tethering and TetherInterfaceStateMachine calls\nto address testability issues.\n\nThis is in preparation of other work to have IPv6-only or 464xlat\ntethering working.\n\nTest: runtest frameworks-net\nBug: 38218697\nBug: 64382985\nBug: 64976379\nBug: 64995262\nMerged-In: I3b91125b1a715690c2cd417b1e937e568c755d9f\nMerged-In: I05de77d9b90d147bf1d6ee7f7ee19a049afddfa1\n(cherry-pick of aosp I721aca4789ddfbee5a97316aae0b378d79ee2107)\n\nChange-Id: Idfdd1b9cd5419c1f51f0fbb1eba2f36a9c12474b\n"
    },
    {
      "commit": "37e8dfa8e97d785431ae866862aa8f1d4adf28c7",
      "tree": "caa6a01e04ca9794047180dc9212f2029df79a40",
      "parents": [
        "1a8d1a51cfada41f10dbcffb4b0840a48773ca4b",
        "507754a81e0b9d871e59fe9621c2a5d57befff90"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 30 08:48:25 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 30 08:48:25 2018 +0000"
      },
      "message": "Merge \"Limit the number of routes for performance\" into pi-dev"
    },
    {
      "commit": "507754a81e0b9d871e59fe9621c2a5d57befff90",
      "tree": "44d9179d51ddb3ccb61b016913fb33cb84c90912",
      "parents": [
        "77e0b7b821a4d334606f07c7626aa59f9bee8446"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Thu Mar 29 14:10:44 2018 +0900"
      },
      "committer": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Fri Mar 30 15:41:50 2018 +0900"
      },
      "message": "Limit the number of routes for performance\n\nIn evaluating whether \"most\" of the addressing space is\ncovered, the list of routes are obtained from a third-party\napp, so it\u0027s possbile the system service stalls unless\nsome limit is enforced on how much work it has to do.\nThis change limits the number of routes to 400, as determined\nby time measurement on various devices.\n\nBug: 74176086\nTest: runtest framework-net\nChange-Id: Ie4a96098bc044ade87b188839586f14dd101c100\n"
    },
    {
      "commit": "bfa67c81bf88b842fdb63b63b0cfd96e021f82af",
      "tree": "8938dd8a39c5fae57c9bb87420cf46b453cf60b9",
      "parents": [
        "6ea93c4bcaf5c2c8489695308e77b659b70b64d4"
      ],
      "author": {
        "name": "Benedict Wong",
        "email": "benedictwong@google.com",
        "time": "Wed Mar 28 13:10:40 2018 -0700"
      },
      "committer": {
        "name": "Benedict Wong",
        "email": "benedictwong@google.com",
        "time": "Thu Mar 29 23:07:42 2018 -0700"
      },
      "message": "Require explicitly supplied truncation length\n\nInstead of providing default truncation lengths (based on RFC or\notherwise), this change imposes a restriction that the truncation length\nmust be supplied for all auth or aead algorithms.\n\nBug: 77204048\nTest: Updated tests, ran on walleye\nMerged-In: I4a0e2e71aa97259e56f44e7c8a2ce53135708d97\nChange-Id: I4a0e2e71aa97259e56f44e7c8a2ce53135708d97\n(cherry picked from commit bb7f2820f5bcccf8618078c2cbe4ea9836797e3b)\n"
    },
    {
      "commit": "6ea93c4bcaf5c2c8489695308e77b659b70b64d4",
      "tree": "05415c453684f7988f65d6e42269c146611f1581",
      "parents": [
        "3d8fa52f59dcfae93e8ecc7a669fd3757e87c63f"
      ],
      "author": {
        "name": "Benedict Wong",
        "email": "benedictwong@google.com",
        "time": "Tue Mar 27 16:55:48 2018 -0700"
      },
      "committer": {
        "name": "Benedict Wong",
        "email": "benedictwong@google.com",
        "time": "Thu Mar 29 23:05:42 2018 -0700"
      },
      "message": "Clarify UDP encapsulation socket API\n\nThis change updates the getSocket() methods for IPsec to improve clarity\nof the return types, both for public APIs, and internal-only methods.\n\nBug: 72473753\nTest: APIs updated, CTS + unit tests ran.\nMerged-In: I0afebd432c5d04c47c93daa1ce616d712aa323d7\nChange-Id: I0afebd432c5d04c47c93daa1ce616d712aa323d7\n(cherry picked from commit 4c987ebade580d4abc8a3d549e0df90baab33140)\n"
    },
    {
      "commit": "786b7ad2604709b63dac4675a0477b58c7532068",
      "tree": "5ec1bd1dfac70be8b984d390b88a8322ce0550c6",
      "parents": [
        "601861fd1cce308320ebe21e47a48e0c9c68de55"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Mon Mar 05 18:14:56 2018 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri Mar 30 12:18:23 2018 +0900"
      },
      "message": "Allow null subscriberId in NetworkStatsManager.\n\nUse a MATCH_MOBILE_WILDCARD template to avoid filtering by\nsubscriberId when querying statistics from NetworkStatsService.\n\nBug: 74038898\nChange-Id: I8296220472a9ba37044dd1a5ede9bdb45d3ed339\nFixes: 74038898\nTest: runtest frameworks-net, CTS tests pass\nMerged-In: I1e4e283c6eaecf33d12488e41e0c524f6ff83954\nMerged-In: Ia84d2c7cc63bf8b8bf30f133e0382fd7103bf490\n(cherry-picked from aosp I4b39e7031416cb33b23d89aa36ff0f774eaa942f)\n"
    },
    {
      "commit": "3150dbf7a57c7f0332db9c9197ad046023bd6ece",
      "tree": "8113a524168863ea168b654b32bfded13ef22520",
      "parents": [
        "52c15f1699e60c0701cc21a69847a005efe87bc9"
      ],
      "author": {
        "name": "Adrian Roos",
        "email": "roosa@google.com",
        "time": "Wed Mar 28 18:06:52 2018 +0200"
      },
      "committer": {
        "name": "Adrian Roos",
        "email": "roosa@google.com",
        "time": "Thu Mar 29 21:27:47 2018 +0000"
      },
      "message": "WM Tests: Use a separate WindowManager instance per test\n\nFixes a bunch of flakes, where the WindowManagerService instance\nwas reused between tests, which caused delayed callbacks from a\nprevious test affecting state of a future test.\n\nAlso introduces a DexmakerShareClassLoaderRule to manage\nthe \u0027dexmaker.share_classloader\u0027 property instead of sprinkling\nerror prone System.setProperty() invocations all over the tests.\n\nChange-Id: Ic9445d1b2cef594e79365c425632aabced6343a9\nFixes: 76111404\nFixes: 75991352\nFixes: 75991878\nFixes: 75992153\nTest: atest services/tests/servicestests DexmakerShareClassLoaderRuleTest packages/SystemUI/tests packages/SystemUI/shared/tests\n"
    },
    {
      "commit": "ce68c5d6154d482d77434bf65a3f65ec20fc4372",
      "tree": "ff3a1715d4049d04f8ee9862a91897403e437392",
      "parents": [
        "00f3c4333e37a7f02320abc8293e692bf0c41b14"
      ],
      "author": {
        "name": "Pavel Maltsev",
        "email": "pavelm@google.com",
        "time": "Wed Mar 07 23:40:32 2018 +0000"
      },
      "committer": {
        "name": "Pavel Maltsev",
        "email": "pavelm@google.com",
        "time": "Tue Mar 27 22:45:49 2018 +0000"
      },
      "message": "Merge \"Minor clean-up in NetworkCapabilities\" am: 539f85a18d am: b1e2bfe4df\nam: 8a956a5141\n\nBug: 72828388\nTest: frameworks/base/tests/net/ -c android.net.NetworkCapabilitiesTest\n\nChange-Id: I2f45d2c70c7c0142ae3b3ce9e6329c5f25b63380\n(cherry picked from commit feb8d1498a822730e29cf346fe3382e3f5293a58)\n"
    },
    {
      "commit": "608ec66d62647f60c3988922fead33fd7e07755e",
      "tree": "603144475060416c137fefb5169faf0e8cd2952f",
      "parents": [
        "0491f5aa0f3cc6b46bdf433bc900433b965943e2"
      ],
      "author": {
        "name": "Andrew Chant",
        "email": "achant@google.com",
        "time": "Fri Mar 02 13:45:09 2018 -0800"
      },
      "committer": {
        "name": "Andrew Chant",
        "email": "achant@google.com",
        "time": "Mon Mar 26 20:55:54 2018 +0000"
      },
      "message": "UsbHostManager: Restore inserted device logging\n\nRestore logcat logging of newly-added USB devices.\nEliminate blacklist log lines.\n\nTest: Connected USB Storage and USB audio devices.\nUpdated UsbDescriptorParserTests for device descriptor\nversion.\n\nexample output:\nUsbHostManager: USB device attached: vidpid 03eb:2433 mfg/product/ver/serial Libratone/Libratone_INEAR/1.00/Inear_mcu_app_0.2.1_20160304 hasAudio/HID/Storage: true/true/false\nUsbHostManager: USB device attached: vidpid 05dc:a82b mfg/product/ver/serial Lexar/ARA Storage /2.08/0024070163400215 hasAudio/HID/Storage: false/false/true\nUsbHostManager: USB device attached: vidpid 18d1:5029 mfg/product/ver/serial Google/USB-C to 3.5mm-Headphone Adapter/22.80/201405280001 hasAudio/HID/Storage: false/true/false\nUsbHostManager: USB device attached: vidpid 18d1:5025 mfg/product/ver/serial Google/USB-C to 3.5mm-Headphone Adapter/22.80/201405280001 hasAudio/HID/Storage: true/true/false\n\nBug: 74119682\nChange-Id: I72688f651c819d4bdc48f6d6316570ca5fc54d1e\n"
    },
    {
      "commit": "0491f5aa0f3cc6b46bdf433bc900433b965943e2",
      "tree": "1b9cfc681da9925fbeb04c83a44d64d522bb1056",
      "parents": [
        "d52c532df7c7c481bf6e482c37f4e0ee02618fce"
      ],
      "author": {
        "name": "Andrew Chant",
        "email": "achant@google.com",
        "time": "Fri Mar 02 13:18:18 2018 -0800"
      },
      "committer": {
        "name": "Andrew Chant",
        "email": "achant@google.com",
        "time": "Mon Mar 26 20:55:28 2018 +0000"
      },
      "message": "UsbDescriptorParser: always parse in constructor\n\nUsbDescriptorParser::parseDescriptors always returned true.\nRemove the return value, and remove the one constructor that\ndoesn\u0027t parse descriptors so the device is always in a parsed state.\n\nBug: 74119682\nTest: Built\nChange-Id: I2dd8d439405867d78102a9591dd1db36fe3959dc\n"
    },
    {
      "commit": "117e7f3c76a02060b423cc370aadc0325ccebd9d",
      "tree": "6c7b311604fb50a704a4f0f8d7c13793694e1265",
      "parents": [
        "9ecfce3b447ad3d9fbd8349fd52f603ccafe9e4e"
      ],
      "author": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Sun Mar 04 21:01:01 2018 +0900"
      },
      "committer": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Fri Mar 23 21:59:24 2018 -0700"
      },
      "message": "Pass all relevant resolver info to netd\n\nTest: runtest frameworks-net passes\nTest: manual testing of opportunistic and strict mode works\nBug: 34953048\nBug: 64133961\nBug: 72345192\nMerged-In: I96f7747b8f0bb38d95579b688b4c2d068f1229cf\nMerged-In: Ia4d896c4cc33c02f0c46d5d4c760cc33b13dff0b\nChange-Id: Ia4f1905e1fa60e7a468c2246fb809191d2ba796b\n(cherry picked from commit e5dac904d361a349f1cfc48500a678d22e3a7316)\n"
    },
    {
      "commit": "8808edb063650f4497e6a31f8fbe4d2bcbdf227f",
      "tree": "44042aaed8444b4f2810c777b4587d9e967da716",
      "parents": [
        "ea4f21f62e18580d2829810abcc1a3e6d2d1676a",
        "bc813eb26e3027856114a26312e36e4bad86bd86"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Fri Mar 23 19:13:22 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 23 19:13:22 2018 +0000"
      },
      "message": "Merge \"Provide app launch count in UsageStats\" into pi-dev"
    },
    {
      "commit": "991b971acbb4675636ccab8b3d9ba891c5f7d936",
      "tree": "4b8979d9de465e553904061dc2981c0b485190be",
      "parents": [
        "8e9a1123fa1d542e4e31771874f33e7b81d0f08f",
        "dfdd82e84fcd102ab9b4d2233d195a013914c2ae"
      ],
      "author": {
        "name": "Kurt Marcinkiewicz",
        "email": "kurdt@google.com",
        "time": "Fri Mar 23 18:02:19 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 23 18:02:19 2018 +0000"
      },
      "message": "Merge \"Allow specifying a network for SNTP time sync\" into pi-dev"
    },
    {
      "commit": "1f654aa24738233f872f708e4e13a9c02af5d6f4",
      "tree": "768d42e27dc2675f25fcf25a8ed73698fe9defdc",
      "parents": [
        "9e5a7f2a63e1a43abf9b3a9f644fa5b70fefab03",
        "26aa91ab27c4064cc7e77267a1a4ef7544d35f5c"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Fri Mar 23 06:36:47 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 23 06:36:47 2018 +0000"
      },
      "message": "Merge \"Have PermissionMonitor arbiter which app can access background networks\" into pi-dev"
    },
    {
      "commit": "26aa91ab27c4064cc7e77267a1a4ef7544d35f5c",
      "tree": "975f7a5eb43aa8fadb2cdedb8b33c8f5ac5a0d2d",
      "parents": [
        "245f8e5ab58aa38671b9c0015493e6dda07f595a"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Tue Mar 20 19:13:57 2018 +0900"
      },
      "committer": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Fri Mar 23 13:37:56 2018 +0900"
      },
      "message": "Have PermissionMonitor arbiter which app can access background networks\n\nThis will let ConnectivityService send the right callbacks to the\nrelevant apps.\n\nTest: manual with apps\n      runtest frameworks-net\n      cts\n      new tests for this functionality\nBug: 67408339\n\nChange-Id: I6f08efd9e73c7e191f833d7f307a3bf4c9e2f0b4\n"
    },
    {
      "commit": "bc813eb26e3027856114a26312e36e4bad86bd86",
      "tree": "a19f4c10792816809309bf64bba518ea676f7372",
      "parents": [
        "9531b70cae96e8e59d38bd91d636cbe084574f3a"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Tue Mar 20 19:37:46 2018 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Thu Mar 22 13:51:57 2018 -0700"
      },
      "message": "Provide app launch count in UsageStats\n\nThis counts the number of times the app was launched from outside\nthe app and ignores intra-app activity transitions.\n\nIntroduce a new permission for registering to observe app usage.\n\nFixes a bug where Settings couldn\u0027t force the app into another\nbucket if it was recently launched.\n\nBug: 74335821\nFixes: 76100712\nTest: Manual test using Settings\nTest: UsageStatsTest to verify permission change\nChange-Id: Ibd343c1cfa37089a3ac6fc30ba3194e21a9be499\n"
    },
    {
      "commit": "dfdd82e84fcd102ab9b4d2233d195a013914c2ae",
      "tree": "bddf480e4a7e63ea8b3cd987c65f8ef87bc82d9a",
      "parents": [
        "163a57d71e6844856b2c7a3a1dc9ce3b5e2100b5"
      ],
      "author": {
        "name": "Kurt Marcinkiewicz",
        "email": "kurdt@google.com",
        "time": "Mon Mar 05 14:45:04 2018 -0800"
      },
      "committer": {
        "name": "Kurt Marcinkiewicz",
        "email": "kurdt@google.com",
        "time": "Thu Mar 22 13:43:25 2018 -0700"
      },
      "message": "Allow specifying a network for SNTP time sync\n\nPermits syncing over a specific network instead of the default for\nthe process. This was causing an issue with Android Wear devices\npaired with iOS where the default network is bluetooth\n(see b/32663274).\n\nThis CL is in support of ag/3776564\n\nBug: 32663274\n\nTest: adb shell am instrument -e class android.net.SntpClientTest -w \\\ncom.android.frameworks.coretests/android.support.test.runner.AndroidJUnitRunner\n\nChange-Id: Ic9fc169cf75457810d4992121d85d7642e350b90\n"
    },
    {
      "commit": "297871902b8824abab6f5c6ee1b09dd4b22c8ad6",
      "tree": "00ee549c7befbd483f50a5bbbbf394e2e42d4e11",
      "parents": [
        "b630550ed19798ad89d8e10b750c72f899ad3e92"
      ],
      "author": {
        "name": "jdesprez",
        "email": "jdesprez@google.com",
        "time": "Wed Mar 21 17:55:33 2018 -0700"
      },
      "committer": {
        "name": "jdesprez",
        "email": "jdesprez@google.com",
        "time": "Wed Mar 21 17:57:24 2018 -0700"
      },
      "message": "Add TestablesTests to device-tests for APCT suite\n\nAPCT is being converted to a suite style. Tag\nTestablesTests to be included in new style run.\n\nTest: build device-tests\nBug: 74440293\nChange-Id: I642dae21f8484c6f20a0babe88f36abb8b25ff7f\n"
    },
    {
      "commit": "82485a2660b8eb3689021889f68b7e6e199a31c4",
      "tree": "01ffa9d16dc0e7a976c28457a3939a8c315db85d",
      "parents": [
        "c8f63060adc880eb6cfdee1e08cafcf2f379096a"
      ],
      "author": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Tue Feb 27 19:19:40 2018 -0800"
      },
      "committer": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Tue Mar 20 18:29:02 2018 -0700"
      },
      "message": "Check mOwnedByTransform to avoid DELSA on SPI\n\nThe owned by transform flag prevents the removal\nof an SPI from accidentally deleting an associated\nSA in the kernel. That flag wasn\u0027t actually being\nchecked, so deleting an SPI would result in the\ntransform being removed.\n\nThe existing code already guarantees that the SA is\ndeleted when the transform is deleted\n\nBug: 73258845\nTest: runtest frameworks-net\nMerged-In: I4c26aea7af817a5d9e54da5db1cdf4f943bcae06\nChange-Id: I4c26aea7af817a5d9e54da5db1cdf4f943bcae06\n(cherry picked from commit 22795302be4ec35449908cf566aa7c16945df836)\n"
    },
    {
      "commit": "da4b0c65a5cbebf6c5e66b869b75dd3a6625cd2e",
      "tree": "882c6fe351e75e9e6150f2776aa0062f07689555",
      "parents": [
        "eb37b9cbb0bad11557c850a2b2805929a666061c"
      ],
      "author": {
        "name": "Benedict Wong",
        "email": "benedictwong@google.com",
        "time": "Thu Mar 01 18:53:07 2018 -0800"
      },
      "committer": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Tue Mar 20 16:01:27 2018 -0700"
      },
      "message": "Added implementation for VTI add/remove address\n\nThis change adds implementation details for add/remove addresses onto a\nVTI.\n\nBug: 73675031\nTest: New tests added, passing on Walleye\nMerged-In: Idde9d943a5285d2c13c5c6b0f7b8a9faf718e6a5\nChange-Id: Idde9d943a5285d2c13c5c6b0f7b8a9faf718e6a5\n(cherry picked from commit ecc9f7cc08804e3fa15fea04ae94ea1bc74edbfe)\n"
    },
    {
      "commit": "e588d6145dfd7171903e2e8c3583ba4904e07394",
      "tree": "f1dca5a8784eac0b6e86edc86be714c7ce7d642b",
      "parents": [
        "36b0b60e40fb37f9f08a718ed040ad5010018b8e",
        "63bf68d5c3eebe227fae099609eda2b470e20bf0"
      ],
      "author": {
        "name": "Gopinath Elanchezhian",
        "email": "gelanchezhian@google.com",
        "time": "Sat Mar 17 00:55:05 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Mar 17 00:55:05 2018 +0000"
      },
      "message": "Merge \"Add cycle-clean option in AppLaunch\" into pi-dev"
    },
    {
      "commit": "a8bb9d255fe933938dab8c7ceec94b4fcd984847",
      "tree": "950caeba2669c34bd777b6a937f5ff4ff6595c24",
      "parents": [
        "3b0450d4a96b8caa24bb2ae0a8d29bfc1ff4e7d3",
        "62ec27e97f68513c5637383fb72de469c5e903c1"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 16 22:40:46 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 16 22:40:46 2018 +0000"
      },
      "message": "Merge \"App Time Limits API in UsageStats\" into pi-dev"
    },
    {
      "commit": "63bf68d5c3eebe227fae099609eda2b470e20bf0",
      "tree": "9522b5d17a521309b2e3c06c0babc14b66721b9d",
      "parents": [
        "6604af68c5606a64ec103c973e5dea43e52817a7"
      ],
      "author": {
        "name": "gopinath",
        "email": "gelanchezhian@google.com",
        "time": "Thu Mar 15 19:24:38 2018 -0700"
      },
      "committer": {
        "name": "Gopinath Elanchezhian",
        "email": "gelanchezhian@google.com",
        "time": "Fri Mar 16 19:08:09 2018 +0000"
      },
      "message": "Add cycle-clean option in AppLaunch\n\nIf cycle-clean is enabled then all the apps will be\nkilled at the end of the cycle and cache will dropped.\n\nCycle time is also enabled to measure the sum of launch times\nduring each cycle.\n\nAbove two options will enable use to measure app launch time under\nmemeory pressue by not killing the app between the launches and\nby killing all the apps and dropping the cache before each cycle\nand measuring the cycle time.\n\nBug: b/73091210\n\nTested : Tested with nodropcache, no force stop between launches\nand cycle clean option and the cycle time avg,min and max\nis printed as expected.\n\nChange-Id: I8fb22439a9fe191104ce024c8a85a2688068cd60\n"
    },
    {
      "commit": "62ec27e97f68513c5637383fb72de469c5e903c1",
      "tree": "ce5ceae6a6e2939674f9a6633acdb84a81e19bf5",
      "parents": [
        "200de1cc86c38bc34317c500f808be40baf341d0"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Sun Mar 11 14:42:06 2018 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Thu Mar 15 17:07:28 2018 -0700"
      },
      "message": "App Time Limits API in UsageStats\n\nAllow setting groups of apps to control usage time limits on.\nApplies only to activity time in the foreground.\n\nUpdated UsageStatsTest app to be able to add an observer for\na 30 second timeout across multiple comma separated package\nnames.\n\nBug: 74335821\nTest: atest FrameworksServicesTests:AppTimeLimitControllerTests\n      Install and run frameworks/base/tests/UsageStatsTest\n\nChange-Id: I677c30b4f211f7acf72c9766df3d8c1ac56a4b4e\n"
    },
    {
      "commit": "e87923c2df457bfec3bd804f51315471291015cb",
      "tree": "85e0f6fd351140654a3b2ff0a6fffdc4e10d509f",
      "parents": [
        "4985fdef8bee4598df89f014a0886be24cd17fdb"
      ],
      "author": {
        "name": "Kevin Neas",
        "email": "kneas@google.com",
        "time": "Mon Mar 12 17:36:23 2018 -0700"
      },
      "committer": {
        "name": "Yuanlang Song",
        "email": "yuanlang@google.com",
        "time": "Thu Mar 15 21:55:45 2018 +0000"
      },
      "message": "Protecting against trying to launch apps that don\u0027t exist\n\nBUG: 74083361\n\nChange-Id: Ia0750bcca2534e794a81f094d5c214af4011c0ce\nTest: Locally\n(cherry picked from commit cb45b97a539a6460af1ecb43ddc3bf574f8100a9)\n"
    },
    {
      "commit": "f85de9616f1ddba0a143b84c79368c4ddabcccb1",
      "tree": "ea64bebbce70f75c3db871e62867ef53d52a839c",
      "parents": [
        "560b26a9d25c806b00b40c2852ef519d2adb1597",
        "090c6b1c94f75fb0d2193354ca453d528da0fa99"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Mar 12 05:07:32 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 12 05:07:32 2018 +0000"
      },
      "message": "Merge \"Allow apps in /odm/app and /odm/priv-app\" into pi-dev"
    },
    {
      "commit": "090c6b1c94f75fb0d2193354ca453d528da0fa99",
      "tree": "cf7af82334e2f94e594aed9f219f5d456b2f9d56",
      "parents": [
        "be1033fda24a7c1ba9ef3ca590da30be56acc6d2"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Thu Dec 28 12:03:28 2017 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Mon Mar 12 10:40:33 2018 +0900"
      },
      "message": "Allow apps in /odm/app and /odm/priv-app\n\n/odm is a vendor partition other than /vendor. Both partitions are for\nHW-specific modules such as HALs. The difference is that /odm is owned\nby ODM (usually device manufacturer which designs the board), whereas\n/vendor is owned by SoC manufacturer. In other words, /odm partition is\nfor board-specific customization to the /vendor partition.\n\nSince apps can exist in /vendor/app and /vendor/priv-app, the same has\nto be supported for /odm partition.\n\nBug: 71366495\nTest: m -j\nTeet: cd frameworks/base/tests/OdmApps; atest .\nChange-Id: I1ec8b22b080efdefd67a45ce9c7aeaa2aef350e0\n"
    },
    {
      "commit": "505511c8290e8815fa6d8b69dead08d71e347e7b",
      "tree": "002b5e3cd28a2d67168d3dd40357c3df736468bf",
      "parents": [
        "0aa191ccbf159b0d6127cfc190e2c4d5fa319eb9"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Mar 08 18:12:46 2018 -0800"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Mar 08 18:30:06 2018 -0800"
      },
      "message": "Add sleep for profile saving in AppLaunch\n\nAim to prevent cases where the profile won\u0027t be saved when we compile.\n\nBug: 70734839\nTest: m\nChange-Id: Ib6f8740c70729914fc559f249b19adea1e7777f0\n"
    },
    {
      "commit": "d137c872cdc5e157c0ff65076689f7c4552a9013",
      "tree": "3c2dffe6115c25dc65faf975c7d3bc12f397bde4",
      "parents": [
        "aa79f03ca6c4c5a3a262aeaf2b608ffd4807ab13"
      ],
      "author": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Fri Feb 23 12:57:51 2018 +0000"
      },
      "committer": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Wed Mar 07 11:42:04 2018 +0000"
      },
      "message": "frameworks/base: Set LOCAL_SDK_VERSION where possible.\n\nThis change sets LOCAL_SDK_VERSION for all packages where\nthis is possible without breaking the build, and\nLOCAL_PRIVATE_PLATFORM_APIS :\u003d true otherwise.\n\nSetting one of these two will be made required soon, and this\nis a change in preparation for that. Not setting LOCAL_SDK_VERSION\nmakes the app implicitly depend on the bootclasspath, which is\noften not required. This change effectively makes depending on\nprivate apis opt-in rather than opt-out.\n\nTest: make relevant packages\nBug: 73535841\nExempt-From-Owner-Approval: Global cleanup\nChange-Id: I26458e41ecb84de91ac9a356a5d4bafb44f463c1\n"
    },
    {
      "commit": "16268a69d6fdf6758d34f67ee635dae96d479333",
      "tree": "ef49116300f6a0940ea4dec2234745b6f4acd68f",
      "parents": [
        "69598bbef56ba17a85a044f62380141964b93183",
        "dd027b3ab2087f4ccaf4e9d72472327f27789a1d"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Mar 06 23:04:16 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 06 23:04:16 2018 +0000"
      },
      "message": "Merge \"Fix issue #72116995: Add permission guarding Service#startForeground\" into pi-dev"
    },
    {
      "commit": "67ccb4f5c49b0a05b536a78ec66ea986ad43c26c",
      "tree": "e72d2dc4ce52c8043dc0d5286c45a8398af30b78",
      "parents": [
        "983c1e54e1ae651ffb4c0f1ce34a561624af6060",
        "0d3aa08a2f0cb82adb936e26d4de2b14408a1dd9"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 06 18:50:01 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 06 18:50:01 2018 +0000"
      },
      "message": "Merge \"Update UsbHandlerTests\" into pi-dev"
    },
    {
      "commit": "ea1b8bd5a5647dd1cb65cac0100bac29e41ddc48",
      "tree": "592e0e5a6f374aa1895d9ad97326e6c9010a825c",
      "parents": [
        "cefe0c65184b0a288fe0c4cdce721ebc0ffb8efa"
      ],
      "author": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Fri Mar 02 16:51:13 2018 +0900"
      },
      "committer": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Tue Mar 06 11:06:34 2018 +0900"
      },
      "message": "Fail if the interface is not available when starting\n\nAddresses a long-standing TODO.  Now, when calling IpClient\u0027s\nstartProvisioning(), the interface has to be available (i.e.\nInterfaceParams#getByName() must return non-null).\n\nAlso:\n    - add a test\n    - refactor for testability\n    - delete some constructors no longer used\n    - properly handle passed-in null IpClient.Callback\n    - some more IpManager -\u003e IpClient renaming\n    - permit recording metrics before starting a provisioning\n      attempt (logging immediate errors) without Log.wtf().\n\nTest: as follows\n    - built\n    - flashed\n    - booted\n    - runtest frameworks/opt/net/wifi/tests/wifitests/runtests.sh passes\n    - runtest frameworks-net passes\n    - basic WiFi IpClient connections works fine\nBug: 62476366\nBug: 73487570\nMerged-In: I68e5e24122dc31e730cdbe8d75e33847e6332da4\nMerged-In: Ifd27f5d908947cd7b4e1b8d54f9fa87e43ebb11b\nMerged-In: Ief3c8e1652f69af0276fe35946ae1bf6e6b1b57e\nChange-Id: Ic83ad2a65637277dcb273feb27b2d1bb7a11eb2b\n(cherry picked from commit b152cd0aa4f333b721615bb17773b35a989245fb)\n"
    },
    {
      "commit": "dd027b3ab2087f4ccaf4e9d72472327f27789a1d",
      "tree": "1f937eaea62c46d7f3758ccb73835acfa3c77ee9",
      "parents": [
        "081d3d2d89e7f73d01260ab92114814718614bea"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jan 19 17:44:46 2018 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Mar 05 16:59:21 2018 -0800"
      },
      "message": "Fix issue #72116995: Add permission guarding Service#startForeground\n\nNow requires permission if targeting P.\n\nNote that this is a separate permission from the existing one\nthat is required for instant apps to use foreground services.  The\nreason for this is that their semantics are different (the instant\napps permission is associated with an app op for control over what\nthe app is allowed, while the regular app permission is just a\nnormal permission that is always granted and only there for\nauditing of apps), and there are probably going to be cases where\na developer will want to use a foreground service in the full\nversion of their app but not as an instant app.\n\nBug: 72116995\nTest: atest CtsAppTestCases\nChange-Id: I883c9515c307ed8e39f0bf888c4045944c8183ac\n"
    },
    {
      "commit": "0d3aa08a2f0cb82adb936e26d4de2b14408a1dd9",
      "tree": "4847ce58b9f059a07d648153aa003cf49db3563b",
      "parents": [
        "74cfe5674202a85f2779d5e8c9092edcf0ebd4db"
      ],
      "author": {
        "name": "Jerry Zhang",
        "email": "zhangjerry@google.com",
        "time": "Fri Mar 02 12:38:26 2018 -0800"
      },
      "committer": {
        "name": "Jerry Zhang",
        "email": "zhangjerry@google.com",
        "time": "Mon Mar 05 22:52:11 2018 +0000"
      },
      "message": "Update UsbHandlerTests\n\nSome tests weren\u0027t being run due to\nmissing annotations.\n\nBug: None\nTest: atest UsbTests -- passes\nChange-Id: Ifc99d8f0b1a825bacf7d1ed59c790c343722b37c\n"
    },
    {
      "commit": "2d8067ed3ddc3a227cd5fdf6309c4961ad41e75f",
      "tree": "ae9b2a143f138e4e2f7b45e7376810bb7381fc06",
      "parents": [
        "b9774cbe9dc0833a257e3efde166e9b91f55aa73",
        "f5312f353810abf484e9d3f3756fee97a6740337"
      ],
      "author": {
        "name": "Pavel Maltsev",
        "email": "pavelm@google.com",
        "time": "Sat Mar 03 00:14:52 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Mar 03 00:14:52 2018 +0000"
      },
      "message": "Merge \"Extend network request to query networks w/o capabilites\" am: d846adac83 am: a3be78b5e7\nam: f5312f3538\n\nChange-Id: I3bf776767be61577f1bca0d98d4aaf82a0e45336\n"
    },
    {
      "commit": "f5312f353810abf484e9d3f3756fee97a6740337",
      "tree": "c338f65767be37b896bdb643715b3814ec73a808",
      "parents": [
        "5f01f4272376b2d8aeab674baddd5510be938175",
        "a3be78b5e734ba40cbc7d8dc766c5114e695b89e"
      ],
      "author": {
        "name": "Pavel Maltsev",
        "email": "pavelm@google.com",
        "time": "Sat Mar 03 00:03:37 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Mar 03 00:03:37 2018 +0000"
      },
      "message": "Merge \"Extend network request to query networks w/o capabilites\" am: d846adac83\nam: a3be78b5e7\n\nChange-Id: Ie0c4fa4648c235589fecd79a25d28f1e62025fb7\n"
    },
    {
      "commit": "a3be78b5e734ba40cbc7d8dc766c5114e695b89e",
      "tree": "d0484ad22ace01b3e02912349b85f3ad43d6614c",
      "parents": [
        "32c5a97aece336db86e5fd6122c55e2cda270aad",
        "d846adac83878b82dcabcf2e4d73dc8a74c176d0"
      ],
      "author": {
        "name": "Pavel Maltsev",
        "email": "pavelm@google.com",
        "time": "Fri Mar 02 23:52:18 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Mar 02 23:52:18 2018 +0000"
      },
      "message": "Merge \"Extend network request to query networks w/o capabilites\"\nam: d846adac83\n\nChange-Id: Id1d86938fa2d5aff4dbf9cde87548d80c76674d9\n"
    },
    {
      "commit": "d846adac83878b82dcabcf2e4d73dc8a74c176d0",
      "tree": "ae1cc735b597b10279fa89f76483300f5ae542b9",
      "parents": [
        "45277c7aca55997670a15ff186d373b0735397de",
        "1cd48dae228b4c3fdddac12fea6621599b2274a8"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 02 19:04:31 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 02 19:04:31 2018 +0000"
      },
      "message": "Merge \"Extend network request to query networks w/o capabilites\""
    },
    {
      "commit": "d1bf7733afd26c97321ab43384badb3eb9924283",
      "tree": "98e287cd8652b418568670f86fbadfaaf89ad48b",
      "parents": [
        "9fae0a82af2be32a6d29001457f686f27e551c4e",
        "1be320a494cd292235d16ce4d155bfb858eaadf0"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Fri Mar 02 13:25:02 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Mar 02 13:25:02 2018 +0000"
      },
      "message": "Merge \"Give apps with NETWORK_SETTINGS right to see any VPN.\" am: 6001f72478 am: e5e819f078\nam: 1be320a494\n\nChange-Id: I9a9d0eb212f6de105abc070a1eb5ff698b4e67bc\n"
    },
    {
      "commit": "1be320a494cd292235d16ce4d155bfb858eaadf0",
      "tree": "2161161814650c7b6c09ac39e9a206d4ab539b81",
      "parents": [
        "207b8e2b4efdc90c6dd06e70a28365b8d6592202",
        "e5e819f0784bbe8c924744abf9e089b0c1d9a5b4"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Fri Mar 02 13:17:23 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Mar 02 13:17:23 2018 +0000"
      },
      "message": "Merge \"Give apps with NETWORK_SETTINGS right to see any VPN.\" am: 6001f72478\nam: e5e819f078\n\nChange-Id: I7f08217c5abc86a8784b91145f1b02d6693b3919\n"
    },
    {
      "commit": "e5e819f0784bbe8c924744abf9e089b0c1d9a5b4",
      "tree": "8b3fdd117986b1d3a7be85b02962c5a9be0e17bf",
      "parents": [
        "18e51821b10eaae1745039daa80883f0fd864491",
        "6001f72478f44bc139e348be5e86e3d39525444d"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Fri Mar 02 13:10:45 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Mar 02 13:10:45 2018 +0000"
      },
      "message": "Merge \"Give apps with NETWORK_SETTINGS right to see any VPN.\"\nam: 6001f72478\n\nChange-Id: Iab9c8df6071e6dec35b5f492eb8344ba370e0036\n"
    },
    {
      "commit": "9fae0a82af2be32a6d29001457f686f27e551c4e",
      "tree": "e12198ee20096878be7042bb76c882ab66128897",
      "parents": [
        "f10700343c142ef95694aa5fa92ccba95201a4dc",
        "207b8e2b4efdc90c6dd06e70a28365b8d6592202"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Fri Mar 02 12:54:29 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Mar 02 12:54:29 2018 +0000"
      },
      "message": "Merge \"Give VPNs the INTERNET capability when they route most of the IP space\" am: 20013384dc am: 18e51821b1\nam: 207b8e2b4e\n\nChange-Id: Ifd77149ca2c45249b8776c878c6fac46ae81c2a4\n"
    },
    {
      "commit": "207b8e2b4efdc90c6dd06e70a28365b8d6592202",
      "tree": "7161eb4596c2ef2f654fcd8b66098acaa7776ef5",
      "parents": [
        "85f47b72b8f245bc1b94ff2ecadb48e454a95b3f",
        "18e51821b10eaae1745039daa80883f0fd864491"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Fri Mar 02 12:46:46 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Mar 02 12:46:46 2018 +0000"
      },
      "message": "Merge \"Give VPNs the INTERNET capability when they route most of the IP space\" am: 20013384dc\nam: 18e51821b1\n\nChange-Id: I33c6fcc72753e00af601cf915aa78416174a3871\n"
    },
    {
      "commit": "18e51821b10eaae1745039daa80883f0fd864491",
      "tree": "17ba0b668968fbdaf90bf4fd3de44cd6674e91a3",
      "parents": [
        "1c1b58432b0a79ab7e9c1b5676e61c8f0083c055",
        "20013384dcb0eb69ccabf9f7444df0ecfd47c75e"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Fri Mar 02 12:34:25 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Mar 02 12:34:25 2018 +0000"
      },
      "message": "Merge \"Give VPNs the INTERNET capability when they route most of the IP space\"\nam: 20013384dc\n\nChange-Id: Icd1466c79d2593fcab5bd2e31a1acb3a36a705da\n"
    }
  ],
  "next": "6001f72478f44bc139e348be5e86e3d39525444d"
}
