)]}'
{
  "log": [
    {
      "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": "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": "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": "d9311198e18f19ad06ef2ed5e4a400c0fc30e83e",
      "tree": "6c05f7553d421b541286347ca0299217730dd8c8",
      "parents": [
        "bd2a9a2915c17cbe2100d6d2077568d0936cd719"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@google.com",
        "time": "Mon Apr 16 16:50:34 2018 +0000"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@google.com",
        "time": "Mon Apr 16 16:50:34 2018 +0000"
      },
      "message": "Revert \"Revert \"OP_GET_USAGE_STATS should be noted, not checked.\"\"\n\nThis reverts commit bd2a9a2915c17cbe2100d6d2077568d0936cd719.\n\nReason for revert: ijpedowitz@\n\nBug: 77662908\nChange-Id: I596d330d64942105f447bb613012bb11e281a805\nExempt-From-Owner-Approval: keep tests passing\n"
    },
    {
      "commit": "bd2a9a2915c17cbe2100d6d2077568d0936cd719",
      "tree": "c2991e4ace2380c2f7401b1d96d4fc7b80412c95",
      "parents": [
        "5a8bcd90315c24e2f16176fd13922b2a92752cd5"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@google.com",
        "time": "Mon Apr 16 16:39:55 2018 +0000"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@google.com",
        "time": "Mon Apr 16 16:39:55 2018 +0000"
      },
      "message": "Revert \"OP_GET_USAGE_STATS should be noted, not checked.\"\n\nThis reverts commit 5a8bcd90315c24e2f16176fd13922b2a92752cd5.\n\nReason for revert: ijpedowitz@\n\nBug: 77662908\nChange-Id: I5dd0ad5038df90ea8a80ba6f583ee46fb24600c2\nExempt-From-Owner-Approval: keep tests passing\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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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"
    },
    {
      "commit": "6001f72478f44bc139e348be5e86e3d39525444d",
      "tree": "f6bd4fccb0d76a3d28e7867855fd53d2043ad306",
      "parents": [
        "20013384dcb0eb69ccabf9f7444df0ecfd47c75e",
        "b552c4655f59131cbfd00beaf9cbfcd291dfe852"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Fri Mar 02 11:52:15 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 02 11:52:15 2018 +0000"
      },
      "message": "Merge \"Give apps with NETWORK_SETTINGS right to see any VPN.\""
    },
    {
      "commit": "b552c4655f59131cbfd00beaf9cbfcd291dfe852",
      "tree": "11a177484e6f7a4427428b8ea852aa654f862dc8",
      "parents": [
        "6b0e7370e2a2f3bcfe526af5803135c7872ad81a"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Wed Feb 21 18:43:54 2018 +0900"
      },
      "committer": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Fri Mar 02 17:10:11 2018 +0900"
      },
      "message": "Give apps with NETWORK_SETTINGS right to see any VPN.\n\n...not only the ones that apply to them.\n\nBug: 73217368\nTest: runtest frameworks-net and CTS\nChange-Id: I436972a3e51e98bdd815771b451bcedadf684763\n"
    },
    {
      "commit": "adbf1d029b753fabc2a7a5ad3b22d3d416cecdd9",
      "tree": "d9ea33106d990144d6577e5692c5757e176c6fc3",
      "parents": [
        "6b0e7370e2a2f3bcfe526af5803135c7872ad81a"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Mon Feb 26 11:52:46 2018 +0900"
      },
      "committer": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Fri Mar 02 16:20:22 2018 +0900"
      },
      "message": "Give VPNs the INTERNET capability when they route most of the IP space\n\nTest: manual, plus wrote some new tests for this\nBug: 72765718\nChange-Id: I9759da72b752fd8eeb1d0647db9ab341f04c0528\n"
    },
    {
      "commit": "1cd48dae228b4c3fdddac12fea6621599b2274a8",
      "tree": "53e5cac577192f2818f729542e823319d69f388d",
      "parents": [
        "7959e70ef2c4ac5c4a3782a8cd231f9b20568dd5"
      ],
      "author": {
        "name": "Pavel Maltsev",
        "email": "pavelm@google.com",
        "time": "Thu Feb 01 11:16:02 2018 -0800"
      },
      "committer": {
        "name": "Pavel Maltsev",
        "email": "pavelm@google.com",
        "time": "Thu Mar 01 17:52:02 2018 -0800"
      },
      "message": "Extend network request to query networks w/o capabilites\n\nAdd another bit mask into NetworkCapabilities class that represents\nunwanted capabilities and corresponding methods to add and remove them.\n\nBug: 72828388\nBug: 68762530\n\nTest: runtest -x frameworks/base/tests/net/\nChange-Id: Ie291167eb74fdb696c7ee145c8cc46ea8115d6ba\n"
    },
    {
      "commit": "9f3bad7260d718558d6f2f2048d973f2cd588b0b",
      "tree": "919f3f567603fb8cf0b98d86f200f546910d66f8",
      "parents": [
        "4c00edd36139789a94cc4a01c51451edc4476df8"
      ],
      "author": {
        "name": "Alexandru-Andrei Rotaru",
        "email": "rotaru@google.com",
        "time": "Tue Jul 18 16:49:22 2017 +0100"
      },
      "committer": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Wed Feb 28 17:52:38 2018 +0900"
      },
      "message": "Notify the user and turn off tethering when the service is disallowed.\n\nAdded UserRestrinctionListener for turning the service off one the\nDISALLOW_CONFIG_TETHERING is on into Tethering.  Added notification\nabout\ntethering being turned off. Also added Unit Tests to test the\nfunctionality\nof the UserRestrictionListener added.\n\nBug: 27936525\nTest: Turn the tehering service on (either wifi, usb or bluetooth).\nAutomatically the system should send a notification about the service\nbeing active.Close settings from recents. From TestDPC User Restrictions\nswitch on DISALLOW_CONFIG_TETHERING. The tethering should be turned off\nand a notification should appear informing that the service is inactive.\n\nMerged-In: Ib7ea8885cedc2a842ebd4487c8b366a6666996bc\nChange-Id: I4a57137a7ad592ca186d9508d5cc2fad3f1bc985\n"
    },
    {
      "commit": "b1a83edb5cd2a5ce018536e16bec92f1c928fb03",
      "tree": "7e47241d63c9f67358cf28c48a89e7bf19f66868",
      "parents": [
        "805ea225b9f65206a5296b5cdeb52081e57154f3",
        "3b7de5541924927e4dee1b8718ad2b6097222cb0"
      ],
      "author": {
        "name": "Pavel Maltsev",
        "email": "pavelm@google.com",
        "time": "Wed Feb 28 08:42:24 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Feb 28 08:42:24 2018 +0000"
      },
      "message": "Merge \"Add OEM_PAID network capability\" am: 4c00edd361 am: 7b87c2050c\nam: 3b7de55419\n\nChange-Id: Id64d288764dc5a556b60f5e3b866b40792647ac0\n"
    },
    {
      "commit": "4c00edd36139789a94cc4a01c51451edc4476df8",
      "tree": "fcff696be14e41d4490762d5896562208a4c512e",
      "parents": [
        "8c32954906f0ce7192f25b38154d9dbc18bc508b",
        "43403201e66f49a309fd23f42705e3a434a5fa01"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 28 07:06:00 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 28 07:06:00 2018 +0000"
      },
      "message": "Merge \"Add OEM_PAID network capability\""
    },
    {
      "commit": "8fa73a4b8787ef5bc842a3ca3b47c3bac251a899",
      "tree": "471fc4a4d24cf142a5f29202d888e0101246903f",
      "parents": [
        "911128733927bce59a4a567f459a3e8c29f19d2b",
        "20f00dfe66f01e02a7bd131f723c0bfe1baaed6a"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Feb 27 19:39:51 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Feb 27 19:39:51 2018 +0000"
      },
      "message": "Merge \"Frameworks: Annotate JUnit4 test with @Test\" am: 4d9bec6b4a am: 0e8e9472ba\nam: 20f00dfe66\n\nChange-Id: I0c611c22eedda2d849bd16ef2e2bb7e2e60e0a5a\n"
    },
    {
      "commit": "a7b26b59af43393cd7d1731dd2833e252bc82933",
      "tree": "86a4190be14f21941f5b211a66b6f044f35cabc0",
      "parents": [
        "701421c6c9cc388b8e0c2817e4081a1b35e92ce6"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Feb 26 08:06:30 2018 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Feb 26 08:09:26 2018 -0800"
      },
      "message": "Frameworks: Annotate JUnit4 test with @Test\n\nMollify Errorprone.\n\nBug: 72076216\nTest: m javac-check RUN_ERROR_PRONE\u003dtrue\nTest: atest IpSecServiceParameterizedTest\nChange-Id: Ia3a253c4c5994937efc0f498ac047c5fb4eee3e9\n"
    },
    {
      "commit": "e0c2995d0f16246336d4385d5ebe631a60e12e86",
      "tree": "7a91be48313ada0edbddf6edf2b35f34e2a9165d",
      "parents": [
        "f66699314c762ea8ee3bcfbd6654b02e4e6b7c98"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Feb 20 17:24:55 2018 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@google.com",
        "time": "Fri Feb 23 16:27:39 2018 +0000"
      },
      "message": "Name specific app for rapid data usage.\n\nWhen a single app is responsible for more than half of the data usage\nthat caused us to trigger a \"rapid usage\" alert, name that app in the\nnotification.  Tests to verify.\n\nMove NPMS-\u003eNSS direct calls to \"Internal\" pattern, following\nbest-practices to avoid unnecessary AIDL exposure.\n\nRemove 3G/4G split mobile plan support, which has been deprecated for\nyears and was never supported in a shipping product.\n\nMove MultipathPolicyTracker in tree to reflect its package name.\n\nTest: bit FrameworksNetTests:*\nTest: bit FrameworksServicesTests:com.android.server.NetworkPolicyManagerServiceTest\nBug: 69263587, 64221505, 73431080, 72746951\nExempt-From-Owner-Approval: approved in previous PS\nChange-Id: I3e4ec1ae2222d51b232f76f32faca93d4f8cd272\n"
    },
    {
      "commit": "e7e42ceb028c49b626e2cee591a967c7a16fb830",
      "tree": "ec730be5dae3608dbe2ccae21e4d70711315c86f",
      "parents": [
        "b729375d47c72fef61d195857ba7086f2941dc20",
        "0a177afbb88a6f3cbc401edbb6cd47282ff9e671"
      ],
      "author": {
        "name": "nharold",
        "email": "nharold@google.com",
        "time": "Tue Feb 20 23:21:59 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Feb 20 23:21:59 2018 +0000"
      },
      "message": "Merge \"Fix ConnectivityServiceTest for NATT Keepalive\" am: 6d5aea8811 am: ad96984eb5\nam: 0a177afbb8\n\nChange-Id: I2ce9d740b82f591b847150ec1eaffa39bfbd0241\n"
    },
    {
      "commit": "6d5aea8811af3e87c3c3fead609cbb8d50c38df7",
      "tree": "771b4f3ef15a20f97b427489da5a4b93ee2b4ff3",
      "parents": [
        "0ea144f4bf510a5f41e40b80b23a5a6e531750a0",
        "63dd81390dcae5b59c6a490b803e67721804b80a"
      ],
      "author": {
        "name": "nharold",
        "email": "nharold@google.com",
        "time": "Tue Feb 20 19:17:23 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 20 19:17:23 2018 +0000"
      },
      "message": "Merge \"Fix ConnectivityServiceTest for NATT Keepalive\""
    },
    {
      "commit": "29ff057e1a2d7d3421d2d551818b36cc44c302cb",
      "tree": "8ffc15b6d825bf7ee5865b3958525ad9abbeef5e",
      "parents": [
        "b3dc6321987ec20cc69693c4da4d6009893d9839",
        "bb186ddfb48e46605ed5d135b6fb6e3e5859e3ac"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Mon Feb 19 08:36:01 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Feb 19 08:36:01 2018 +0000"
      },
      "message": "Merge changes Ic28c5653,Ic635f97b am: 1ea3d9411a am: 27dbc898dc\nam: bb186ddfb4\n\nChange-Id: Ieea9917b3a68e08686c74ebf39e5fed61f641a7a\n"
    },
    {
      "commit": "1ea3d9411ab4a66f94e64ffa0d358a139117e15c",
      "tree": "05d1ee268e515b39aa39b350f7d9131ba06b8bcd",
      "parents": [
        "114278c9eb563fba69efef294c91478c3eab2091",
        "b72b62d2f7e7104f9901bc8f44d5a3c0bb9dbf7a"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Feb 19 03:45:27 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Feb 19 03:45:27 2018 +0000"
      },
      "message": "Merge changes Ic28c5653,Ic635f97b\n\n* changes:\n  [LT2] Fix release request while lingering.\n  [LT1] Add a test for release request while lingering\n"
    },
    {
      "commit": "b72b62d2f7e7104f9901bc8f44d5a3c0bb9dbf7a",
      "tree": "5886ef2aabdaeed764f4fea718468c1645806553",
      "parents": [
        "1fa777d4046299475c38baa8dfaa947ad27cccf1"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Fri Feb 16 16:08:35 2018 +0900"
      },
      "committer": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Mon Feb 19 11:00:58 2018 +0900"
      },
      "message": "[LT2] Fix release request while lingering.\n\nTest: runtest framework-net\nChange-Id: Ic28c5653d16351903b792e76ba8b199b7ed1f8d4\n"
    },
    {
      "commit": "63dd81390dcae5b59c6a490b803e67721804b80a",
      "tree": "eeeb62da82cdc6d7a48af6152f6b9d1f7a106297",
      "parents": [
        "9f92ed943cc0d6224cc2fccd9620b9918fa54e44"
      ],
      "author": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Wed Feb 14 13:09:45 2018 -0800"
      },
      "committer": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Fri Feb 16 16:34:50 2018 -0800"
      },
      "message": "Fix ConnectivityServiceTest for NATT Keepalive\n\nFix test breakages I caused when adding cell\nsupport for NATT keepalives.\n\n-Make the minimum keepalive interval a constant in\n ConnectivityManager and use it in tests.\n-Re-Disallow IPv6 Keepalives\n\nBug: 73327535\nTest: \u0027runtest -x ConnectivityServiceTest\u0027 now passes\nChange-Id: I5ec4367d250ee371014e65c897c3897a25a05e2d\n"
    },
    {
      "commit": "5e4bebb891553e0bec7abd499bb3848f89aef94f",
      "tree": "366cf11732526e0a58badff2a83d30ab4f7b3570",
      "parents": [
        "009a848d903f63e32a8943ef63440329370e1c7a",
        "9911a28adb3b1196fe912ff5b65b8d5cbc7321ec"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@google.com",
        "time": "Fri Feb 16 22:13:01 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 16 22:13:01 2018 +0000"
      },
      "message": "Merge \"Better handling of NTP-based clocks.\""
    },
    {
      "commit": "9911a28adb3b1196fe912ff5b65b8d5cbc7321ec",
      "tree": "69ee97b44a28739a2f864a6e469a25de981fb9fc",
      "parents": [
        "0f888de06b3dcbb73a410578d48539ca970f4f3b"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Feb 14 22:29:11 2018 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@google.com",
        "time": "Fri Feb 16 22:11:35 2018 +0000"
      },
      "message": "Better handling of NTP-based clocks.\n\nNow that we have a nice Clock abstraction, we can use it to represent\na clock backed by an NTP fix.  (This makes testing logic much easier\nto write.)\n\nWe now rely completely on NetworkTimeUpdateService to keep our NTP\nfix up to date, instead of trying to refresh in the middle of\ncritical paths which could trigger random ANRs.\n\nAdd internal FallbackClock to make it easier to handle missing NTP\nfixes.  Add internal SimpleClock to let implementers focus on single\nmillis() method.\n\nTest: bit FrameworksNetTests:com.android.server.net.NetworkStatsServiceTest\nTest: bit FrameworksServicesTests:com.android.server.NetworkPolicyManagerServiceTest\nBug: 69714690, 72320957\nChange-Id: Ic32cdcbe093d08b73b0e4b23d6910b23ea8e1968\nExempt-From-Owner-Approval: approved in previous PS\n"
    },
    {
      "commit": "f04eb2edafc4b101c52a0aab4047852a8de3c296",
      "tree": "4f158fa2a7c73c05c3420f9280dc633336c0b0e0",
      "parents": [
        "2ab510ee246fdf047882dc0af89fcecdb0e57a05",
        "12cb5aae57f325652c7e5ca8a67b8cb6c3bd0f98"
      ],
      "author": {
        "name": "Benedict Wong",
        "email": "benedictwong@google.com",
        "time": "Fri Feb 16 20:51:37 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Feb 16 20:51:37 2018 +0000"
      },
      "message": "Merge \"Correct bug in IpSecTransformTest\" am: 999d1fc172 am: c9f558d46d\nam: 12cb5aae57\n\nChange-Id: Ic29f13053365f3de8d01f9c38f8460d92748a41d\n"
    },
    {
      "commit": "1fa777d4046299475c38baa8dfaa947ad27cccf1",
      "tree": "a0b941c5bfe59d87f49a3c5004da0908210602dc",
      "parents": [
        "d35e81d6159f54a3072317082b5fa89f18e8cef5"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Fri Feb 16 16:07:53 2018 +0900"
      },
      "committer": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Fri Feb 16 18:09:42 2018 +0900"
      },
      "message": "[LT1] Add a test for release request while lingering\n\nTest: runtest framework-net\nChange-Id: Ic635f97bf3dad8b695b3b8cc32c1a8b891166f9f\n"
    },
    {
      "commit": "cd67fb3e27b32685d75da8fc074a432a1a09af04",
      "tree": "ba178a50af5d3529d68fa3f0f5bcfacd2ee81983",
      "parents": [
        "3df127aefe70a2b6ab8fb744c6a82fae59549740"
      ],
      "author": {
        "name": "Benedict Wong",
        "email": "benedictwong@google.com",
        "time": "Thu Feb 15 18:47:49 2018 -0800"
      },
      "committer": {
        "name": "Benedict Wong",
        "email": "benedictwong@google.com",
        "time": "Thu Feb 15 18:52:07 2018 -0800"
      },
      "message": "Correct bug in IpSecTransformTest\n\ntestCreateTransformsWithSameConfigEqual used assertFalse rather than\nassertTrue\n\nBug: 69385347\nTest: Passing on walleye\nChange-Id: I8caa26e184e8bfc3e8acc9061d85c22d27ebf448\n"
    },
    {
      "commit": "43403201e66f49a309fd23f42705e3a434a5fa01",
      "tree": "e0e6a3e547b005d99d36f6375eb60a25c75f4fc1",
      "parents": [
        "1da6f542ef187c860a5772f7c2e391e5a2e6c2d5"
      ],
      "author": {
        "name": "Pavel Maltsev",
        "email": "pavelm@google.com",
        "time": "Tue Jan 30 17:19:44 2018 -0800"
      },
      "committer": {
        "name": "Pavel Maltsev",
        "email": "pavelm@google.com",
        "time": "Thu Feb 15 10:46:00 2018 -0800"
      },
      "message": "Add OEM_PAID network capability\n\nBug: 68762530\n\nTest: runtest -x frameworks/base/tests/net/\n\nChange-Id: I51c07e0c2211d631e90b27468c26b599e7b07bc8\n"
    },
    {
      "commit": "243a0875687afd03bcc22121c9f26b4d9e57e66d",
      "tree": "a0cde283a71fda467c191c36567ab8b3547469e7",
      "parents": [
        "cfaaecf9ce82f90f3ad8d028a5f9e885f3d2d416",
        "3d3fa2269883ec09892799698375d09af810502e"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Thu Feb 15 14:23:57 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Feb 15 14:23:57 2018 +0000"
      },
      "message": "Merge changes I3d68dbf8,I6ea524bb,I978d9119 am: edab226d0e am: 6fe110fa36\nam: 3d3fa22698\n\nChange-Id: Ic6d639358c3310820bd925df93d4843d7edffc57\n"
    },
    {
      "commit": "edab226d0ed7a3d63706bc7a58f0c17ea1c75b74",
      "tree": "e3b8166d7e4e8715e8f7556479119cdabd507a87",
      "parents": [
        "47ef64b0d2ca41f879facbfb278a7d14c3b9577b",
        "054cd16781763838c17b221ffcd1196641b57b00"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Thu Feb 15 11:25:36 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 15 11:25:36 2018 +0000"
      },
      "message": "Merge changes I3d68dbf8,I6ea524bb,I978d9119\n\n* changes:\n  Deprecate CONNECTIVITY_ACTION.\n  Publish FOREGROUND and add NOT_SUSPENDED capabilities.\n  Send null UIDs to apps instead of single-uid lists.\n"
    },
    {
      "commit": "1f3228d242e8f4a5eb18ec35160320ebc06dbf99",
      "tree": "986f34d6b3297abf1a67c20e4dc9928a5cc749fb",
      "parents": [
        "237b1d0cf699c6e9fe3f59ac00d1167227e52a80",
        "fe9728d4949a1350c1b6bf3661905730c8e03770"
      ],
      "author": {
        "name": "Benedict Wong",
        "email": "benedictwong@google.com",
        "time": "Thu Feb 15 06:01:49 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Feb 15 06:01:49 2018 +0000"
      },
      "message": "Merge \"Copy IpSecConfig when IpSecTransforms are created\" am: 2c8456b22e am: 3988c929ad\nam: fe9728d494\n\nChange-Id: I511e6b0cadfc24f24a492ae63c48a8b4baa89edb\n"
    },
    {
      "commit": "804b8fb96854555f16946924aec80c4b450bafb3",
      "tree": "8f10489075a133a33eb7f6adf9f0f0278ce7bc42",
      "parents": [
        "f19db374092738928b2b0c36aaf144c303c8874c"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Tue Jan 30 22:41:41 2018 +0900"
      },
      "committer": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Wed Feb 14 15:14:41 2018 +0900"
      },
      "message": "Publish FOREGROUND and add NOT_SUSPENDED capabilities.\n\nNOT_SUSPENDED and FOREGROUND are capabilities that need to\nbe public so as to reach feature parity with what information\ncan be gotten through the use of CONNECTIVITY_ACTION and\nsynchronous calls to ConnectivityManager. This change makes\nthem public, and wires up the NOT_SUSPENDED capability.\nThis deprecates in effect the old onSuspended and onResumed\ncallbacks, but these have never been public.\n\nThis also converts the onAvailable path from a multiple\nbinder call design to a simpler, single binder call. This\nis only for internal convenience\n\nTest: runtest frameworks-net\nTest: cts\nTest: also manual testing\nChange-Id: I6ea524bb361ecef0569ea2f9006c1e516378bc25\n"
    },
    {
      "commit": "f19db374092738928b2b0c36aaf144c303c8874c",
      "tree": "114a7548a95860b34d2b8b546919fc89e8fa9554",
      "parents": [
        "f27242dbd6aa4736070f5d82d750f30bee674a0d"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Fri Jan 26 19:24:40 2018 +0900"
      },
      "committer": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Wed Feb 14 12:47:15 2018 +0900"
      },
      "message": "Send null UIDs to apps instead of single-uid lists.\n\nPrior to this change ConnectivityManager used to patch in the UID\nof the requesting app inside the NetworkCapabilities sent to it.\nThe rationale was that the app may not know what other apps may\nuse the network, so the view it should have of the network should\nalways say the network only applies to that app.\n\nBut this has an unfortunate side effect : apps can\u0027t match the\nreceived network against a default NetworkCapabilities. Ostensibly\nthis only applies to the system because all involved calls are\n@hide, but still : system code would get some NetworkCapabilities,\nfor example using networkCapabilitiesForType, and then try to\nmatch the capabilities of an available network using\nsatisfiedByNetworkCapabilities. Because the passed network is\ndeclared to only apply to one\u0027s own UID and the UIDs of the\nNetworkCapabilities are set to null meaning \"I need this network\nto apply to all UIDs\", the answer will be \"false\".\n\nWhile this is WAI in a sense, it is very counter-intuitive that\ncode trying to match a network would be required to patch in its\nown UIDs.\nThere are three ways of fixing this :\n1. Require all apps to do the above. It\u0027s correct, but it\u0027s\n   cumbersome and counterintuitive. Multiple places in existing\n   code needs to be fixed, Tethering is an example.\n2. Write the UIDs of the caller in any NetworkCapabilities object\n   that is created. This is not very practical, because it imposes\n   the converse requirement on all NetworkAgents, which would then\n   have to clear the UIDs before they send the capabilities to\n   ConnectivityService. All NetworkAgents need to be fixed.\n3. Instead of sending an object with a list of one UID to apps,\n   send a null list. The drawback is that the networks nominally\n   look to apps like they apply to all apps. I argue this does\n   not matter ; what matters is that the UID lists do not leak.\n   Clients just see a null list of UIDs (and third party can\u0027t\n   even access them without using reflection). No other changes\n   are required besides this two-line patch.\n\nThis patch implements 3. I believe it is the saner approach, with\nboth the most intuitive behavior and the best backward compatibility\ncharacteristics, as well as the easiest change.\n\nThis does not encroach on the future plans to make the actual\nUID list available to apps with NETWORK_SETTINGS.\n\nTest: runtest frameworks-net\nChange-Id: I978d91197668119e051c24e1d04aafe1644a41cf\n"
    },
    {
      "commit": "9dd3a385279403ff94dd07b052424da3acd3a1f4",
      "tree": "21f47bddd868e5e444a567d28ff52f5aa88d4b8e",
      "parents": [
        "42339c464fca2f1981b1e6285eb05ade3ac10c05"
      ],
      "author": {
        "name": "Benedict Wong",
        "email": "benedictwong@google.com",
        "time": "Tue Feb 06 20:43:21 2018 -0800"
      },
      "committer": {
        "name": "Benedict Wong",
        "email": "benedictwong@google.com",
        "time": "Tue Feb 13 23:23:13 2018 +0000"
      },
      "message": "Copy IpSecConfig when IpSecTransforms are created\n\nThis change prevents IpSecTransforms from being inadvertently modified\nby changes to the IpSecConfig. Specifically, once the transform is\ncreated, it takes a copy of the config, rather than a reference.\n\nBug: 69385347\nTest: New tests added, and all test passing\nChange-Id: I89b8660c175ca20aa70352dcda893434ff7fd42b\n"
    },
    {
      "commit": "2dcd15de3744c751376b6cc983142c90cdd7b847",
      "tree": "bda6450e1dc03c48736b5f790169101ca547e9b9",
      "parents": [
        "c6703cc5124cbbde2d5464eee7dd5bf91063466a",
        "b6b2957b8eb176bca763af2201fb17ca1bba7d61"
      ],
      "author": {
        "name": "Jong Wook Kim",
        "email": "jongwook@google.com",
        "time": "Wed Feb 07 09:26:56 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Feb 07 09:26:56 2018 +0000"
      },
      "message": "Merge \"MacAddress: Use SecureRandom and add a 46 bit randomized MAC generator\" am: 9f16828767 am: 775861bb12\nam: b6b2957b8e\n\nChange-Id: I5f2d395705841b7da03b1552b16507466e47ef84\n"
    },
    {
      "commit": "f0a55cc9eda84f90ad8b96784c4afa9a25e82801",
      "tree": "f0bd1ba01080a24da20469dae3f748402f650d98",
      "parents": [
        "9193014ee63b3ad007f74eb2b2f2fd741c6b6388"
      ],
      "author": {
        "name": "Jong Wook Kim",
        "email": "jongwook@google.com",
        "time": "Wed Jan 31 19:03:19 2018 -0800"
      },
      "committer": {
        "name": "Jong Wook Kim",
        "email": "jongwook@google.com",
        "time": "Wed Feb 07 01:28:46 2018 +0000"
      },
      "message": "MacAddress: Use SecureRandom and add a 46 bit randomized MAC generator\n\nUse SecureRandom instead of Random since Random is time based and can\nincrease the chance of generating same MAC address across multiple\ndevices.\n\ncreateRandomUnicastAddress should randomize all bits of the address,\nexcept for locally assigned bit and unicast bit. The previous method\nthat only randomizes NIC and use Google Base OUI is renamed to\ncreateRandomUnicastAddressWithGoogleBase.\n\nBug: 72450936\nTest: runtest frameworks-net\nChange-Id: Icda650638c2c1c9fd90d509a87e86347c0e05f2d\n"
    },
    {
      "commit": "15f39aac4f9b4d6a66d43d037d63716778a9f500",
      "tree": "8f57e5aa51918dc03e171b4221a0ab9b685a1843",
      "parents": [
        "db72e3b421e38634376e1ce334cdea5d2c5e2fa6",
        "70c15d1d8ddeb813ca263c9c8d96e98edfa8aef1"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Feb 06 09:29:10 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Feb 06 09:29:10 2018 +0000"
      },
      "message": "Merge \"Frameworks: Mark tests\" am: c86b195cd5 am: 2b12970061\nam: 70c15d1d8d\n\nChange-Id: I55b62b64236937c66a21ec667216f7f1d505a5b5\n"
    },
    {
      "commit": "c86b195cd5bdec16ad51aa7f1adc56c1ec4bf564",
      "tree": "6b1a236e4e3326ac6dc14409dfff428f6d7621e4",
      "parents": [
        "383a7d432fa0bd8b638700e424b26b9f30a5d4b3",
        "35dbf35b26430999f1e07dfb129822c2506f3b4b"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Feb 06 06:03:09 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 06 06:03:09 2018 +0000"
      },
      "message": "Merge \"Frameworks: Mark tests\""
    },
    {
      "commit": "fbbd75839d05cb9a09f60d52c870d36e4902091a",
      "tree": "acfa9d88bc1f503a7206deb3776683e2b03b8627",
      "parents": [
        "ee84871fdab4b82d457301704789bca3ad0ae19d",
        "9a70530107c9e6ccb6861b476bf343a57ef37f25"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Mon Feb 05 00:54:50 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Feb 05 00:54:50 2018 +0000"
      },
      "message": "Merge \"Update OWNER files for connectivity\" am: 771e229a23 am: ce0c31d392\nam: 9a70530107\n\nChange-Id: I1754c7bd602db58bd6c4e72d5f0dd77786d730da\n"
    },
    {
      "commit": "1c8756154adf195178e2ba5bb0f082f452ceceb5",
      "tree": "16acd4dc428fce8e4e3b53603cc5728bc5bd33ed",
      "parents": [
        "cb9cd96c506a8255fbd2ad5f0ed1dde4a6c16e74"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Fri Feb 02 12:48:55 2018 +0900"
      },
      "committer": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Fri Feb 02 12:49:45 2018 +0900"
      },
      "message": "Update OWNER files for connectivity\n\nTest: no functional change\nChange-Id: I25276c769468c37970cb1915660fee29e589008c\n"
    },
    {
      "commit": "327b809ad11a5094248652014227470c4be329e6",
      "tree": "9779e98e6ab294d0455b67d7a764a892007cce6a",
      "parents": [
        "1810393c5a5fa0d9f8579e0eeabd7b334482163c"
      ],
      "author": {
        "name": "Jerry Zhang",
        "email": "zhangjerry@google.com",
        "time": "Tue Jan 09 17:53:04 2018 -0800"
      },
      "committer": {
        "name": "Jerry Zhang",
        "email": "zhangjerry@google.com",
        "time": "Wed Jan 31 11:40:48 2018 -0800"
      },
      "message": "Refactor and clean up USB, add tests\n\nChange UsbManager apis to use long instead of string, to match\nusb hal. Change UsbDeviceManager internals to match as well.\n\nRemove isFunctionEnabled and add getEnabledFunctions. Callers\nwould often call isFunctionEnabled for every possible function\nto get the list of functions, so getEnabledFunctions reduces the\nnumber of aidl calls.\n\nSeparate out dependencies between UsbHandler and UsbDeviceManager\nand staticize the UsbHandler classes. Add unit tests with\nmocked out dependencies to test state transitions for UsbHandler.\n\nBug: 62876645\nTest: atest UsbTests\nChange-Id: I785c4c24121a70e725de9742c6af50a6bf1baea0\n"
    },
    {
      "commit": "35dbf35b26430999f1e07dfb129822c2506f3b4b",
      "tree": "3e806ceff3460dcac5daa667e4fecde93543ccc5",
      "parents": [
        "656096516cf0af5ade7174d441d1a7ca47a77ccd"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Jan 26 20:41:17 2018 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jan 31 01:04:00 2018 +0000"
      },
      "message": "Frameworks: Mark tests\n\nAdd @Ignore and @Test to make Errorprone happy.\n\nBug: 72076216\nTest: m javac-check RUN_ERROR_PRONE\u003dtrue\nTest: atest ConnectivityServiceTest\nTest: atest WifiManagerTest\nChange-Id: Id2423c545eccaa768203faf86e14d0a558d927cd\n"
    },
    {
      "commit": "84f5de7e55da594926c35acb6a2d7b09fcf63c4b",
      "tree": "8f89f981966291b958a1ae8f356795093779c646",
      "parents": [
        "8a972cf38091f36e98a522743216998c4915d24e",
        "6a8c5a7b9ce4a475da44673396a6fa6ae1853346"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Tue Jan 30 01:55:28 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jan 30 01:55:28 2018 +0000"
      },
      "message": "Merge changes I303d1102,I72c9aa43,If13a5284 am: cf5841db8d am: 5aebce7466\nam: 6a8c5a7b9c\n\nChange-Id: Iad1030a22f25bed92bd9d504fb1a40fc1e1cfdc5\n"
    }
  ],
  "next": "bb16b75b6722dcc859feb18fb22c69c3ca67efa4"
}
