)]}'
{
  "log": [
    {
      "commit": "2830ce9a096301acac8cc3dadeb2bf9a03edc4e3",
      "tree": "59e245b5c9ab452b8ab517cfabdc481e40ba4e70",
      "parents": [
        "fbeacb02c0fe331242dd1815a28e2b2f1d5a42c6"
      ],
      "author": {
        "name": "Christine Hallstrom",
        "email": "hallstrom@google.com",
        "time": "Wed Nov 30 16:06:42 2016 -0800"
      },
      "committer": {
        "name": "Hall Liu",
        "email": "hallliu@google.com",
        "time": "Tue Dec 13 17:48:50 2016 -0800"
      },
      "message": "Add ability to set supported audio routes on phone accounts and connection\n\nThe set audio routes are used by Telecom to restrict where the audio may\nbe routed to. For example, an account can specify that calls may not be\nrouted over bluetooth headsets, which will prevent a new call from being\nrouted to this source.\n\nThis is a cherry-pick of abandoned ag/1521009.\n\nBug: 32958838\nChange-Id: Idd5e4d38b157f11454f3d991385644f2f384596e\n"
    },
    {
      "commit": "fbeacb02c0fe331242dd1815a28e2b2f1d5a42c6",
      "tree": "0fba410a98585fd24abec0ae7e85efe1268b946a",
      "parents": [
        "c35137ce36211f9c2ef2d90e59cbd63a7c571b8e",
        "280f82c3127a331d9f8b6f61726176a380892f66"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Dec 13 16:04:35 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Dec 13 16:04:36 2016 +0000"
      },
      "message": "Merge \"Make the onRequestRecommendation() method async.\""
    },
    {
      "commit": "c35137ce36211f9c2ef2d90e59cbd63a7c571b8e",
      "tree": "4c9a4d198256960a0f7d2b92e2a66caf87069b12",
      "parents": [
        "a895081335a038de4b01a907c64a04edfba54add",
        "9fa05c25c96f1c9f0af520dd46a86ac6a476ef91"
      ],
      "author": {
        "name": "Tobias Thierer",
        "email": "tobiast@google.com",
        "time": "Tue Dec 13 13:36:07 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Dec 13 13:36:08 2016 +0000"
      },
      "message": "Merge \"API changes for updating Locale to OpenJDK8u60, part 2\""
    },
    {
      "commit": "a895081335a038de4b01a907c64a04edfba54add",
      "tree": "7ea6be13b175ba0be480d27a844250b7974048ad",
      "parents": [
        "6968d90dc50f67569c3e3dc48fee044da4a4d565",
        "46169f946bc50627799719930cf07750c6926a80"
      ],
      "author": {
        "name": "sghuman",
        "email": "sghuman@google.com",
        "time": "Tue Dec 13 02:08:39 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Dec 13 02:08:39 2016 +0000"
      },
      "message": "Merge \"Copy WifiNetworkScoreCache into frameworks/base. Add tests.\""
    },
    {
      "commit": "280f82c3127a331d9f8b6f61726176a380892f66",
      "tree": "80b43546b54d265aed9783a4cc88ee8972ef9f54",
      "parents": [
        "6968d90dc50f67569c3e3dc48fee044da4a4d565"
      ],
      "author": {
        "name": "Jeremy Joslin",
        "email": "jjoslin@google.com",
        "time": "Thu Dec 08 10:24:02 2016 -0800"
      },
      "committer": {
        "name": "Jeremy Joslin",
        "email": "jjoslin@google.com",
        "time": "Mon Dec 12 17:48:41 2016 -0800"
      },
      "message": "Make the onRequestRecommendation() method async.\n\nConverted the NetworkRecommendationProvider.onRequestRecommendation()\nmethod into an async call to give implementors more flexibility.\n\nAdded unit tests for NetworkRecommendationProvider.\n\nTest: Added NetworkRecommendationProviderTest.\nBUG: 32909424\nChange-Id: I8c1d2e11baa539744d77a012e85351f750523e3b\nMerged-In: Iebe72f260133e9ad1946b0b75e2f69635e154ef3\n"
    },
    {
      "commit": "6968d90dc50f67569c3e3dc48fee044da4a4d565",
      "tree": "953c2805c105295c9f01eec091c4830f4ce843cd",
      "parents": [
        "ff93f927e4ca41b8673b7d85c69a5867f1b8a072",
        "552d86b520e5d93e74baee5d909e4e8ed67b1360"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Tue Dec 13 00:28:09 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Dec 13 00:28:09 2016 +0000"
      },
      "message": "Merge \"Add trace category for adb.\""
    },
    {
      "commit": "ff93f927e4ca41b8673b7d85c69a5867f1b8a072",
      "tree": "ae33a36a049b699109d4132fb3449a6bee220382",
      "parents": [
        "1975240f170747db47a7a41c40efb66c998d5dce",
        "5ae2cd5d7659ae8bf25a8330c2e883ec7da19555"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Dec 13 00:18:56 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Dec 13 00:18:57 2016 +0000"
      },
      "message": "Merge \"DO NOT MERGE: Migrate NetworkPolicyManagerServiceTest to JUnit 4.\""
    },
    {
      "commit": "1975240f170747db47a7a41c40efb66c998d5dce",
      "tree": "6365b8383eaa7e5c0e0a5777b3932885e5337b8e",
      "parents": [
        "d0fdf7aba3902e337e32ded27396a83d8dbd4a04",
        "bb598ee16f4b61978c88358e8f96153395cdb7ad"
      ],
      "author": {
        "name": "Jerry Zhang",
        "email": "zhangjerry@google.com",
        "time": "Tue Dec 13 00:12:04 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Dec 13 00:12:04 2016 +0000"
      },
      "message": "Merge \"Modify UsbDeviceManager stack to allow MtpServer to use FunctionFS drivers.\""
    },
    {
      "commit": "d0fdf7aba3902e337e32ded27396a83d8dbd4a04",
      "tree": "62b1657569d60ef035ebafa2a353629604357ce3",
      "parents": [
        "9d55f4371929d8dc56c5da321f3a93b6a75ee2d9",
        "4ef40087be75b2125ee72f1347099c556d533d42"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Dec 12 23:00:17 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Dec 12 23:00:18 2016 +0000"
      },
      "message": "Merge \"DO NOT MERGE: Fixed NetworkPolicyManagerServiceTest.\""
    },
    {
      "commit": "46169f946bc50627799719930cf07750c6926a80",
      "tree": "c3ed63cf0ca8a86ab10c688cf2367a45f1634e50",
      "parents": [
        "9d55f4371929d8dc56c5da321f3a93b6a75ee2d9"
      ],
      "author": {
        "name": "Sundeep Ghuman",
        "email": "sghuman@google.com",
        "time": "Tue Nov 29 19:56:48 2016 -0800"
      },
      "committer": {
        "name": "Sundeep Ghuman",
        "email": "sghuman@google.com",
        "time": "Mon Dec 12 14:57:10 2016 -0800"
      },
      "message": "Copy WifiNetworkScoreCache into frameworks/base. Add tests.\n\nBegin process of migrating WifiNetworkScoreCache.java from System Server\n(//frameworks/opt/net/wifi/service/java/com/android/server/wifi/) to a\nSystemApi. This CL is a straight copy and paste of\nWifiNetworkScoreCache.java. Only new code is located in\nWifiNetworkScoreCacheTest.java\n\nBug: b/33050254\nTest: Unit tests added to cover most common use cases.\nChange-Id: I7510420d293339ce7811fcf71a6efceb8d809c3a\n"
    },
    {
      "commit": "9d55f4371929d8dc56c5da321f3a93b6a75ee2d9",
      "tree": "7d41069f641c481e209a8fb4238fd07ec208b136",
      "parents": [
        "47e1f497c0f457fd010e35d7aba1c9987fd9ea0f",
        "23f98ebe33ffcbb3d8765e29c8f7d6a11bd67607"
      ],
      "author": {
        "name": "sghuman",
        "email": "sghuman@google.com",
        "time": "Mon Dec 12 22:53:18 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Dec 12 22:53:19 2016 +0000"
      },
      "message": "Merge \"Fix erroneous constructor in ScoredNetwork.java\""
    },
    {
      "commit": "23f98ebe33ffcbb3d8765e29c8f7d6a11bd67607",
      "tree": "7d41069f641c481e209a8fb4238fd07ec208b136",
      "parents": [
        "47e1f497c0f457fd010e35d7aba1c9987fd9ea0f"
      ],
      "author": {
        "name": "Sundeep Ghuman",
        "email": "sghuman@google.com",
        "time": "Mon Dec 12 14:36:03 2016 -0800"
      },
      "committer": {
        "name": "Sundeep Ghuman",
        "email": "sghuman@google.com",
        "time": "Mon Dec 12 14:36:03 2016 -0800"
      },
      "message": "Fix erroneous constructor in ScoredNetwork.java\n\nTest: Unit tests in ag/310934.\nChange-Id: I0075b15f59796872ea9779c04373563607d2f883\n"
    },
    {
      "commit": "5ae2cd5d7659ae8bf25a8330c2e883ec7da19555",
      "tree": "eaa2912d3dc189b136983eb9899837b06ad9d508",
      "parents": [
        "4ef40087be75b2125ee72f1347099c556d533d42"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Fri Aug 12 15:19:40 2016 -0700"
      },
      "committer": {
        "name": "Stephen Chen",
        "email": "stewchen@google.com",
        "time": "Mon Dec 12 14:19:25 2016 -0800"
      },
      "message": "DO NOT MERGE: Migrate NetworkPolicyManagerServiceTest to JUnit 4.\n\nBUG: 30839080\nTest: runtest --path\nframeworks/base/services/tests/servicestests/src/com/android/server/NetworkPolicyManagerServiceTest.java\n\n(cherry picked from Ic192334389eed7596e1f7cb8ce98a5169262418c)\n\nChange-Id: I90cf55ad948bbe0883473431f40201cf4206dc82\n"
    },
    {
      "commit": "4ef40087be75b2125ee72f1347099c556d533d42",
      "tree": "66756ea5fcb509ea1b7727beb61e37f9b738eeca",
      "parents": [
        "021e8ff2afeedf1e096a0709867c615a955a978c"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Wed Aug 10 14:46:39 2016 -0700"
      },
      "committer": {
        "name": "Stephen Chen",
        "email": "stewchen@google.com",
        "time": "Mon Dec 12 14:18:39 2016 -0800"
      },
      "message": "DO NOT MERGE: Fixed NetworkPolicyManagerServiceTest.\n\nNetworkPolicyManagerServiceTest had many tests there were @Suppressed\nbecause they were obsolete and harder to fix using Easymocks.\n\nThis CL replaced EasyMock by Mockito and re-enabled most tests, although\nsome tests were removed because:\n- It\u0027s underlying logic changed too much that.\n- It would be hard to mock all external entities they interact with.\n- They are covered by CTS tests.\n\nBug: 30764608\nTest: runtest --path\nframeworks/base/services/tests/servicestests/src/com/android/server/NetworkPolicyManagerServiceTest.java\n\n(cherry picked from commit I53ff86fc9b64cb058846f1aefa244771630d9e1e)\n\nChange-Id: Ia9cdb780cb0917477b310dc38d2e39731d6a7609\n"
    },
    {
      "commit": "47e1f497c0f457fd010e35d7aba1c9987fd9ea0f",
      "tree": "1653471f4a437bda6a841b5213382852ba244923",
      "parents": [
        "9b430e0395444aba316bc2226bb71a8e25274027",
        "c2ac5bde6f6e9cc95a476a2404f020246516ccfc"
      ],
      "author": {
        "name": "Marie Janssen",
        "email": "jamuraa@google.com",
        "time": "Mon Dec 12 21:27:23 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Dec 12 21:27:23 2016 +0000"
      },
      "message": "Merge \"DO NOT MERGE Add Bluetooth toggle prompts - framework\""
    },
    {
      "commit": "9b430e0395444aba316bc2226bb71a8e25274027",
      "tree": "cfda524b5350cd2e8bfcef4fa63a544e2a6e7054",
      "parents": [
        "9a10ca3f4c98e4750c4b3354bceae0262a3ec52c",
        "2b22ae3b8723e951ee2ba4031d5753c7bed10eb0"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Dec 12 21:14:56 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Dec 12 21:14:57 2016 +0000"
      },
      "message": "Merge \"Add simplified_network_settings_bool to CarrierConfigManager.\""
    },
    {
      "commit": "552d86b520e5d93e74baee5d909e4e8ed67b1360",
      "tree": "34878bf14650066728b9025682aaf58d8d7cdeee",
      "parents": [
        "9a10ca3f4c98e4750c4b3354bceae0262a3ec52c"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Tue Nov 29 10:57:01 2016 -0800"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Dec 12 12:32:57 2016 -0800"
      },
      "message": "Add trace category for adb.\n\nBug: http://b/31289465\nTest: systrace\nChange-Id: I765c55c264329227556ff25655e3f00c5c3e8b54\n"
    },
    {
      "commit": "9a10ca3f4c98e4750c4b3354bceae0262a3ec52c",
      "tree": "760a1f31ee00813755d7c5853aef4e5dd331f922",
      "parents": [
        "021e8ff2afeedf1e096a0709867c615a955a978c",
        "447a3ac16be99351c978c63107808f22e90c93f1"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Dec 12 19:30:22 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Dec 12 19:30:23 2016 +0000"
      },
      "message": "Merge \"Catch all exceptions from installd, log codes.\""
    },
    {
      "commit": "2b22ae3b8723e951ee2ba4031d5753c7bed10eb0",
      "tree": "3433141817baad344d8fb9920ea97b746c1c4083",
      "parents": [
        "021e8ff2afeedf1e096a0709867c615a955a978c"
      ],
      "author": {
        "name": "Joe LaPenna",
        "email": "jlapenna@google.com",
        "time": "Wed Dec 07 16:27:24 2016 -0800"
      },
      "committer": {
        "name": "Joe LaPenna",
        "email": "jlapenna@google.com",
        "time": "Mon Dec 12 19:27:16 2016 +0000"
      },
      "message": "Add simplified_network_settings_bool to CarrierConfigManager.\n\nBUG: 33111931\nTest: runtest carrierconfig-unit\nChange-Id: I3da3048afcf1547c46db5c76ff68165246faa77a\n"
    },
    {
      "commit": "bb598ee16f4b61978c88358e8f96153395cdb7ad",
      "tree": "7d6ddd52811d30560e0e713cecedd28bedcf6a99",
      "parents": [
        "021e8ff2afeedf1e096a0709867c615a955a978c"
      ],
      "author": {
        "name": "Jerry Zhang",
        "email": "zhangjerry@google.com",
        "time": "Mon Oct 24 14:35:08 2016 -0700"
      },
      "committer": {
        "name": "Jerry Zhang",
        "email": "zhangjerry@google.com",
        "time": "Mon Dec 12 11:05:32 2016 -0800"
      },
      "message": "Modify UsbDeviceManager stack to allow MtpServer to use FunctionFS drivers.\n\nFunctionfs requires MtpServer to write descriptors before the device can be\nconfigured. This adds a new configure call that will occur only when\nfunctions are changed (new argument added to updateUsbStateBroadcast for this)\nand be called after sys.usb.config is changed but before the waitForState\ncall to ensure compatibility with configfs devices.\n\nBug: 30976142\nChange-Id: I7e94a5847d3b19c0fd75139e1b15a3f2a1cea01d\nTest: Manual\n"
    },
    {
      "commit": "c2ac5bde6f6e9cc95a476a2404f020246516ccfc",
      "tree": "d2114ecda26fb6bf453a0e681082a01098de382e",
      "parents": [
        "021e8ff2afeedf1e096a0709867c615a955a978c"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Wed Jun 29 17:31:44 2016 -0700"
      },
      "committer": {
        "name": "Marie Janssen",
        "email": "jamuraa@google.com",
        "time": "Mon Dec 12 09:50:24 2016 -0800"
      },
      "message": "DO NOT MERGE Add Bluetooth toggle prompts - framework\n\nIf permission review is enabled toggling bluetoth on or off\nresults in a user prompt to collect consent. This applies\nonly to legacy apps, i.e. ones that don\u0027t support runtime\npermissions as they target SDK 22.\n\nAlso added a configuration resource which controls whether\npermission review mode is enabled. By default it is not and\nan OEM can change this via an overlay. For now we also keep\nthe old mechanism to toggle review mode via a build property\nwhich is still used and will be removed when clients have\ntransitioned.\n\nbug:28715749\nChange-Id: I77bca2305f9d0f20034b2c8fc5b58e0565d5e617\n"
    },
    {
      "commit": "021e8ff2afeedf1e096a0709867c615a955a978c",
      "tree": "b0fd9c2a3fdd09029e20ea373e60f03350504f92",
      "parents": [
        "7552e2de9daecc1aaa63c1a799c16c095daa38a0",
        "5ba69e46ed368e901ac0696f10ebabad055181ea"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Mon Dec 12 17:23:18 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Dec 12 17:23:18 2016 +0000"
      },
      "message": "Merge \"Track BufferIterator changes in libcore\""
    },
    {
      "commit": "447a3ac16be99351c978c63107808f22e90c93f1",
      "tree": "050d1a85c5f212f9d97c155fbfa3300aaa4775af",
      "parents": [
        "7552e2de9daecc1aaa63c1a799c16c095daa38a0"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Dec 12 10:15:37 2016 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Dec 12 10:16:32 2016 -0700"
      },
      "message": "Catch all exceptions from installd, log codes.\n\nNow that installd is throwing both SecurityException and\nIllegalArgumentException, it\u0027s time that we turned all these\ninto InstallerException.\n\nAlso extend ServiceSpecificException to include the contained\nerrorCode value when printing.\n\nTest: builds, boots, apps install/uninstall fine\nBug: 13758960, 30944031\nChange-Id: Ic9c1e99ae87f4442402ef528bf352c7978572c85\n"
    },
    {
      "commit": "7552e2de9daecc1aaa63c1a799c16c095daa38a0",
      "tree": "474447a0fcff22af879c58c8c054a9d3f09b89a3",
      "parents": [
        "8584db972c58f2498c5253810aa0b6c74b12a26d",
        "0e6cbb02e4c7d1a6d252d6aded3ade9b8a31d88a"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Dec 12 08:16:35 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Dec 12 08:16:35 2016 +0000"
      },
      "message": "Merge \"Stop setting net.dns{1234} system properties.\""
    },
    {
      "commit": "8584db972c58f2498c5253810aa0b6c74b12a26d",
      "tree": "2f761c6cedeea195979ede113c01cda866ea6714",
      "parents": [
        "1950377f9163c1bd84832c960bbed73b31c2fe85",
        "4f05cd8900bfb559d5de58b86fa01f07bddafb2c"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Sat Dec 10 22:57:22 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Dec 10 22:57:22 2016 +0000"
      },
      "message": "Merge \"Remove DEXOPT_OTA flag.\""
    },
    {
      "commit": "1950377f9163c1bd84832c960bbed73b31c2fe85",
      "tree": "ea3d63ca365288485a94aa0b650b0b1ded626510",
      "parents": [
        "64583c332a5da8cd18b3e95873307b90023d9e61",
        "740f523b2571d1c4eb4a954e1faedea45dd7fa53"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Sat Dec 10 22:54:51 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Dec 10 22:54:52 2016 +0000"
      },
      "message": "Merge \"Final push of installd to Binder; goodbye socket!\""
    },
    {
      "commit": "64583c332a5da8cd18b3e95873307b90023d9e61",
      "tree": "9a11f23074a73948540c6d268c4d1677a8ba024f",
      "parents": [
        "a511a07fa320010a69beaf99525cf30a0e15113d",
        "d19ea14f30869c6d7116f19ce405ec13eaa2f635"
      ],
      "author": {
        "name": "Michael Rosenfeld",
        "email": "mrosenfeld@google.com",
        "time": "Sat Dec 10 00:48:52 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Dec 10 00:48:52 2016 +0000"
      },
      "message": "Merge \"Copy preload2.jar to build artifacts\""
    },
    {
      "commit": "d19ea14f30869c6d7116f19ce405ec13eaa2f635",
      "tree": "6bab4d0823adfed5094bcaaa31d1af9c70a0ad5a",
      "parents": [
        "faf3aa697fc569180cc029c09affe08ade9c5e82"
      ],
      "author": {
        "name": "Michael Rosenfeld",
        "email": "mrosenfeld@google.com",
        "time": "Wed Dec 07 11:49:34 2016 -0800"
      },
      "committer": {
        "name": "Michael Rosenfeld",
        "email": "mrosenfeld@google.com",
        "time": "Fri Dec 09 16:16:54 2016 -0800"
      },
      "message": "Copy preload2.jar to build artifacts\n\nTest: local build\nBug: 33492076\nChange-Id: I76de648cd1947e49278a678a4c6f1dce8092bbd4\n"
    },
    {
      "commit": "4f05cd8900bfb559d5de58b86fa01f07bddafb2c",
      "tree": "93a13ef3f2049a2fe6bb96536acef605755db169",
      "parents": [
        "740f523b2571d1c4eb4a954e1faedea45dd7fa53"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Dec 09 17:08:06 2016 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Dec 09 17:09:30 2016 -0700"
      },
      "message": "Remove DEXOPT_OTA flag.\n\nTest: builds, boots\nBug: 13758960, 30944031\nChange-Id: I266a39c6dc7948f784580e4ef1cf0bb8ee27d0e7\n"
    },
    {
      "commit": "a511a07fa320010a69beaf99525cf30a0e15113d",
      "tree": "bf1f65d72c7976452dce74546090fc8bb6b92037",
      "parents": [
        "d7b144a5e9dc1d4eead6ee3b66afd63b4bec8c67",
        "823db059e44811f7306d3afad884d2dabf6d3c4b"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Dec 09 23:56:34 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Dec 09 23:56:35 2016 +0000"
      },
      "message": "Merge \"Update registerNetworkScoreCache() to accept a filter type.\""
    },
    {
      "commit": "740f523b2571d1c4eb4a954e1faedea45dd7fa53",
      "tree": "dc80945193278aee84829e99139af8e336c68cb4",
      "parents": [
        "d7b144a5e9dc1d4eead6ee3b66afd63b4bec8c67"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Dec 09 14:31:26 2016 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Dec 09 15:30:34 2016 -0700"
      },
      "message": "Final push of installd to Binder; goodbye socket!\n\nMove last two straggling installd commands to Binder and destroy the\nsocket-based communication channel forever.\n\nTest: builds, boots, apps install fine, pre-OTA dexopt works\nBug: 13758960, 30944031\nChange-Id: I9afb9f71858febde34a94f53839b2986493b68a0\n"
    },
    {
      "commit": "823db059e44811f7306d3afad884d2dabf6d3c4b",
      "tree": "bf1f65d72c7976452dce74546090fc8bb6b92037",
      "parents": [
        "d7b144a5e9dc1d4eead6ee3b66afd63b4bec8c67"
      ],
      "author": {
        "name": "Jeremy Joslin",
        "email": "jjoslin@google.com",
        "time": "Wed Nov 30 15:05:40 2016 -0800"
      },
      "committer": {
        "name": "Jeremy Joslin",
        "email": "jjoslin@google.com",
        "time": "Fri Dec 09 13:15:15 2016 -0800"
      },
      "message": "Update registerNetworkScoreCache() to accept a filter type.\n\nDefined a new IntDef in NetworkScoreManager named CacheUpdateFilter\nwith 3 values. Caches must be registered with a filter value and will\nonly receive updates based on their registered filter. Actual\nfiltering implementation will follow.\n\nTest: runtest frameworks-services -c com.android.server.NetworkScoreServiceTest\nBUG: 32912120\nChange-Id: I3ce0bee171e6405176358479fa8a532fd5193824\nMerged-In: I8940e0ed1a7bbcb5a81fb3b6a7fafe4fbbc33875\n"
    },
    {
      "commit": "d7b144a5e9dc1d4eead6ee3b66afd63b4bec8c67",
      "tree": "e197d4bc82d877aaadd5c7af399e7a2f175f3645",
      "parents": [
        "2761ed124ad7e54a99d70078121229ce942075a0",
        "c98c7bccdccbff1ceeda501e6a6f8c21d61649ca"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Dec 09 16:42:25 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Dec 09 16:42:25 2016 +0000"
      },
      "message": "Merge \"Prepare to move dexopt calls to Binder.\""
    },
    {
      "commit": "5ba69e46ed368e901ac0696f10ebabad055181ea",
      "tree": "d927ee0e01b4456eb46b36eb2a714b7cefac9ac1",
      "parents": [
        "21ed56daacea56274372773ba807a30f00eaac4e"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Fri Dec 09 14:59:26 2016 +0000"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Fri Dec 09 14:59:26 2016 +0000"
      },
      "message": "Track BufferIterator changes in libcore\n\nAddition of a new method pos().\n\nBug: 31008728\nTest: make\nChange-Id: Id5fcb13104a8580ffaa7d4f8d3c473fe14ac5ccd\n"
    },
    {
      "commit": "2761ed124ad7e54a99d70078121229ce942075a0",
      "tree": "f9e1b928bafb46ea6319e57886da5909acc86c7f",
      "parents": [
        "a44c833042ded18df5c1779396f74282b61f9a33",
        "df2576045e0edbed05bf4511e0e9ba1038b8f3bb"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Fri Dec 09 14:56:37 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Dec 09 14:56:37 2016 +0000"
      },
      "message": "Merge \"Move android.test classes from core/java to legacy-test/src\""
    },
    {
      "commit": "a44c833042ded18df5c1779396f74282b61f9a33",
      "tree": "168adb69dc7be5fb8f03b7a0532a5d5d46fb0618",
      "parents": [
        "4ee94a6a9bb6d102d199e523756a9f81dc2d63b6",
        "eb96bb7338d0331baaafaa371bc17776459c75d1"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Dec 09 10:50:10 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Dec 09 10:50:11 2016 +0000"
      },
      "message": "Merge \"Removing bogus file added by mistake\""
    },
    {
      "commit": "4ee94a6a9bb6d102d199e523756a9f81dc2d63b6",
      "tree": "4c5fcbf8cbf7f2b8c40ee596daad596aa5fc69e6",
      "parents": [
        "ab4c79bd96281e29321edbe4121a33ad5eb12cbe",
        "120e0375e90d59d3578eed50ecd32a748c5daa02"
      ],
      "author": {
        "name": "Przemyslaw Szczepaniak",
        "email": "pszczepaniak@google.com",
        "time": "Fri Dec 09 10:46:18 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Dec 09 10:46:19 2016 +0000"
      },
      "message": "Merge \"Track libcore change 547177ca5c312f84fb22e6e7bf12f54129034e5d\""
    },
    {
      "commit": "eb96bb7338d0331baaafaa371bc17776459c75d1",
      "tree": "9bf8f2e34cce5659b6f68ff554e76071294cf8e9",
      "parents": [
        "ab4c79bd96281e29321edbe4121a33ad5eb12cbe"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Wed Dec 07 14:39:05 2016 +0900"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Fri Dec 09 18:28:19 2016 +0900"
      },
      "message": "Removing bogus file added by mistake\n\nThis patch deletes a bogus file added by mistake in the change with\ncommit hash 147aa6d53bc1e9f8a3632553abcf936023806e1d.\n\nTest: no code change.\nBug: 32198726\n\nChange-Id: Iffc6b3a5ebd854dc81d537576a4405955abacba7\n"
    },
    {
      "commit": "ab4c79bd96281e29321edbe4121a33ad5eb12cbe",
      "tree": "3c115e38f7982417eb8e33b0f04f20aab6e8449b",
      "parents": [
        "25afce88a6f28d612fbd1f3c6905a375d11d51e4",
        "cfcc1cb7bf9caae440bf7c2c93efb43c9f90aa73"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Fri Dec 09 09:11:21 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Dec 09 09:11:22 2016 +0000"
      },
      "message": "Merge changes from topic \u0027framework-net-aosp\u0027\n\n* changes:\n  DO NOT MERGE: frameworks-test: adding missing @SmallTest\n  DO NOT MERGE: Netd events: record connect() success/errno\n  DO NOT MERGE: Add missing dependency.\n  DO NOT MERGE: Show notification for always-on app VPN\n  DO NOT MERGE: Implement metered tracking for NetworkStats summary queries.\n  DO NOT MERGE: NetworkMonitor: send one DNS probe per web probe\n  DO NOT MERGE: NetworkMonitor metrics: add first validation information\n  DO NOT MERGE: APF: also drop any ICMPv6 RSs\n  DO NOT MERGE: ConnectivityServiceTest: fix testAvoidBadWifiSettings\n  DO NOT MERGE: Fix ConnectivityServiceTest testRequestBenchmark\n  DO NOT MERGE: Switch over to new \"time.android.com\" NTP pool.\n  DO NOT MERGE: Define API for metering network stats buckets.\n  DO NOT MERGE: Refactored NetworkStatsServiceTest to use Mockito instead of EasyMock.\n  DO NOT MERGE: Use @Ignore to explicitly disable a @Test method.\n  DO NOT MERGE: Fixed NetworkStatsServiceTest and converted it to JUnit4.\n  DO NOT MERGE: VPN network stat accounting changes.\n  DO NOT MERGE: ConnectivityThread: use lazy holder idiom\n  DO NOT MERGE: ConnectivityManager: use ConnectivityThread looper\n  DO NOT MERGE: ConnectivityManager: a simpler CallbackHandler\n  DO NOT MERGE: Indicate the NsdServiceInfo attributes are only filled in for a resolved service.\n  DO NOT MERGE: Add a null check for the OnStartTetheringCallback.\n"
    },
    {
      "commit": "cfcc1cb7bf9caae440bf7c2c93efb43c9f90aa73",
      "tree": "3c115e38f7982417eb8e33b0f04f20aab6e8449b",
      "parents": [
        "5d0f28c7fdd8432c41ed38659d920fa9fad291fb"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Fri Nov 04 16:06:34 2016 +0900"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Fri Dec 09 14:35:05 2016 +0900"
      },
      "message": "DO NOT MERGE: frameworks-test: adding missing @SmallTest\n\nThis activates all frameworks-test tests in runs of the continuous\nplatform tests.\n\nTest: $ runtest frameworks-net passes (expect Tether\nBug: 32561414\n(cherry picked from commit fa8a6f6220d1a0027ba7969c2d3f72690ddc6495)\n\nChange-Id: I7b0706a7e3368f971d508388e8ad4afc5de9d646\n"
    },
    {
      "commit": "5d0f28c7fdd8432c41ed38659d920fa9fad291fb",
      "tree": "1013060c4fbe931aca7b2b72a2111fe61d99b618",
      "parents": [
        "744b02069d7589dc192b19fac6c3e7d62d02e88a"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Mon Oct 31 15:04:37 2016 +0900"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Fri Dec 09 14:34:39 2016 +0900"
      },
      "message": "DO NOT MERGE: Netd events: record connect() success/errno\n\nTest: $ runtest frameworks-net pass\nBug: 32198976\n\n(cherry picked from commit 8b06bcdfd24100302818ae0e11ee751dd813d5cf)\n"
    },
    {
      "commit": "744b02069d7589dc192b19fac6c3e7d62d02e88a",
      "tree": "c7e59c23ba7203a1c6f843046480a2bbb6c06bb3",
      "parents": [
        "de7f7d195eec64802b7b6eee819c699f1a7d6951"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Fri Dec 09 14:19:57 2016 +0900"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Fri Dec 09 14:23:17 2016 +0900"
      },
      "message": "DO NOT MERGE: Add missing dependency.\n\nChange-Id: I5deb8e03eb368ab7003f9376f7b4459d2ef5e934\n"
    },
    {
      "commit": "de7f7d195eec64802b7b6eee819c699f1a7d6951",
      "tree": "5e9250b11197e50e7340d7bcf2588f0443898d1e",
      "parents": [
        "963e8ddf6d5ea3bc34216fa03fe24402bf13940a"
      ],
      "author": {
        "name": "Tony Mak",
        "email": "tonymak@google.com",
        "time": "Thu Jun 30 11:19:20 2016 +0100"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Fri Dec 09 14:23:10 2016 +0900"
      },
      "message": "DO NOT MERGE: Show notification for always-on app VPN\n\nThis is the same notification as the one shown during legacy lockdown\nmode, sans the \u0027reset\u0027 button.\n\nThe notification is only shown during times when VPN has not yet\nestablished or has failed, for example during boot or after a crash.\n\nBug: 29123115\n\n(cherry picked from commit 1a405fe300950d6ceae2166fd074b596d8110dbe)\n\nChange-Id: I929a05c24df01e21415535a333bb14ac4b790a9d\n"
    },
    {
      "commit": "963e8ddf6d5ea3bc34216fa03fe24402bf13940a",
      "tree": "d7dc7c25c741eefdcd31df021cf3c2e316add6dc",
      "parents": [
        "2a43b208ccda994b0be8722d7785fc669603cdaa"
      ],
      "author": {
        "name": "Stephen Chen",
        "email": "stewchen@google.com",
        "time": "Fri Oct 21 12:44:26 2016 -0700"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Fri Dec 09 13:59:33 2016 +0900"
      },
      "message": "DO NOT MERGE: Implement metered tracking for NetworkStats summary queries.\n\nDependent on ag/1550196 where API is defined.\n\nBug: 31015360\nBug: 26545374\nTest: runtest --path\nframeworks/base/core/tests/coretests/src/android/net/NetworkStatsTest.java,\nother test classes.\n\n(cherry picked from commit 25147878974f82f875062e99cdee85dd33f3f078)\n\nChange-Id: I46da93ba4afa968facf98f7c3d844fd0c469095a\n"
    },
    {
      "commit": "2a43b208ccda994b0be8722d7785fc669603cdaa",
      "tree": "9db7b55b46a0683b9a8afece015c5ad0a9129f1a",
      "parents": [
        "21680fd25df1e088f87b3a947460268b4eb8cbbb"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Wed Nov 16 18:18:08 2016 +0900"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Fri Dec 09 13:59:20 2016 +0900"
      },
      "message": "DO NOT MERGE: NetworkMonitor: send one DNS probe per web probe\n\nThis patch changes sligthly the two web probes mechanism for captive\nportal detection and network validation so that DNS resolution is always\ndone for both probes.\n\nIn general the target web servers of the two parallel HTTP and HTTPS probes\nare now different. This introduces a bias in the latency measurement of\nth HTTPS probe since this latency will also include DNS resolution in\ngeneral.\n\nTest: manual verification + $ runtest frameworks-net\nBug: 32198726\n\n(cherry picked from commit ab61e7c324b24e46829495bc2597e42ea907c53d)\n\nChange-Id: I3b32ae451f2241849fffe24956758a9f571b1ef1\n"
    },
    {
      "commit": "21680fd25df1e088f87b3a947460268b4eb8cbbb",
      "tree": "0911e6bc1110ebf46246507c360c66cd75d2ef39",
      "parents": [
        "02428988ad90a2bd294b9ce752c2fced5b649519"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Tue Nov 15 23:23:24 2016 +0900"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Fri Dec 09 13:59:20 2016 +0900"
      },
      "message": "DO NOT MERGE: NetworkMonitor metrics: add first validation information\n\nThis patch adds first validation information to:\n  - ValidationProbeEvent, by extending the probe_type int field of to\n    also include a bit indicating if the probe was part of a first\n    validation attempt or not.\n  - NetworkMonitorEvent, by defining new contants for the event_type\n    field.\n\nTest: $ runtest frameworks-net\n      + manually generating events and inspecting the\n        output of $ adb shell dumpsys connmetrics list\nBug: b/32198726\n\n(cherry picked from commit 147aa6d53bc1e9f8a3632553abcf936023806e1d)\n\nChange-Id: Ie7a62c4f62a13ce52806d3adaa9e627cb246073c\n"
    },
    {
      "commit": "02428988ad90a2bd294b9ce752c2fced5b649519",
      "tree": "127c4d6944786336427d2820c2e8110f7fad94a5",
      "parents": [
        "53d83d51424a496978d2ff2d86845a2284515712"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Sat Dec 03 02:41:05 2016 +0900"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Fri Dec 09 13:59:19 2016 +0900"
      },
      "message": "DO NOT MERGE: APF: also drop any ICMPv6 RSs\n\nTest: new unit test + $ runtest franeworks-net\nBug: 32833400\n\n(cherry picked from commit f98182ef5e80ede5de7f2c2a5f40fc92a46c9704)\n\nChange-Id: Ifaf6e778c811c7d865c790a293b1fce3f43cad1c\n"
    },
    {
      "commit": "53d83d51424a496978d2ff2d86845a2284515712",
      "tree": "94963686c3f8f79cb065b7f30871275539d63f0c",
      "parents": [
        "cbf8ff83a8b342e6ebeaa83794dace3c6d0b1488"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Tue Nov 15 13:42:34 2016 +0900"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Fri Dec 09 13:59:19 2016 +0900"
      },
      "message": "DO NOT MERGE: ConnectivityServiceTest: fix testAvoidBadWifiSettings\n\nThis patch introduces an assertEventuallyThat helper function in\nConnectivityServiceTest which given a boolean function retries until the\nfunction returns true or until a maximum retry time is reached.\n\nThis function is used to fix flakyness of testAvoidBadWifiSetting where\nthe Message posted by reevaluate() could reach the Handler\u0027s\nMessageQueue after waitForIdle takes effect, resulting in the test to\nfail.\n\nInstead of fixing the flakyness by introdcing hard sleep times,\nassertEventuallyThat is used to reduce the overall test time.\n\nWith this change the test has been observed to pass with 100% success\nrate over 50000 invocations.\n\nTest: $ runtest frameworks-net\nBug: 32561414\n\n(cherry picked from commit 99c8294ef0c7a720364abb5884063e0a9d1bb5fe)\n\nChange-Id: If41a24989d5f65aeb439f68741f511b5eb53b18d\n"
    },
    {
      "commit": "cbf8ff83a8b342e6ebeaa83794dace3c6d0b1488",
      "tree": "dfac1945d450369ab269eb8e2ac71074cf7d9df8",
      "parents": [
        "dda938a698a17b2943bbe78f6631a26dedabf28a"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Tue Nov 15 11:25:52 2016 +0900"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Fri Dec 09 13:59:18 2016 +0900"
      },
      "message": "DO NOT MERGE: Fix ConnectivityServiceTest testRequestBenchmark\n\nThis patch fixes flakyness of testRequestBenchmark by adjusting time\nlimit for callback registration from 100ms to 180ms, and time limits for\nonAvailable and onLost triggers from 30ms to 40ms.\n\nWith these timeouts the test succeeds 100% over 5000 iterations.\n\nWhen using 150ms for registration timeout, running the test 5000 times\nfails 2 times.\n\nWhen using 30ms for onLost timeout, running the test 5000 times fails\n1 times.\n\nIn addition, this patch also cleans testRequestBenchmark and uses the\nmore stable SystemClock.elapsedRealtime() for duration measurements.\n\nTest: $ runtest frameworks-net\nBug: 32561414\n\n(cherry picked from commit 38be57b438a0c1754091f045317db2049304e16f)\n\nChange-Id: I196ab9ef7f5abe456a783eed65db09279d2ecb8c\n"
    },
    {
      "commit": "dda938a698a17b2943bbe78f6631a26dedabf28a",
      "tree": "01359931c5903022e34e6159263ef20911253a0c",
      "parents": [
        "dadf6caf9f2a8c360203a3f141a8c1366159ec4d"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Dec 02 12:17:21 2016 -0700"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Fri Dec 09 13:59:18 2016 +0900"
      },
      "message": "DO NOT MERGE: Switch over to new \"time.android.com\" NTP pool.\n\nAlso add logging to measure success/failure details.\n\nTest: builds, boots, and NTP fix obtained\nBug: 32969463\n\n(cherry picked from commit d3f689bf14a05de735b5cc92dcf20e7226c78690)\n\nChange-Id: I7da416099ae903fd92beb516251ef4e51673eecf\n"
    },
    {
      "commit": "dadf6caf9f2a8c360203a3f141a8c1366159ec4d",
      "tree": "de107ab8eb4f0c95e553ed01dccf56025e44e5d0",
      "parents": [
        "e4c029918f32f9dacc7e6a1e8102b71f3ca1018c"
      ],
      "author": {
        "name": "Stephen Chen",
        "email": "stewchen@google.com",
        "time": "Tue Oct 18 16:41:47 2016 -0700"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Fri Dec 09 13:59:17 2016 +0900"
      },
      "message": "DO NOT MERGE: Define API for metering network stats buckets.\n\nThis is a continuation of b/26545374, since now we can also set the\nmetered bit with NetworkScorer. The tracking of metered state changes\nwill be implemented in a seperate CL.\n\nBug: 31015360\nBug: 26545374\nTest: N/A\n\n(cherry picked from commit 9ac251d1169639c7b955d63b21e80cbc5c394090)\n\nChange-Id: I6a2fcc8577d62daa8823dff9e0128a5cf39ede7b\n"
    },
    {
      "commit": "e4c029918f32f9dacc7e6a1e8102b71f3ca1018c",
      "tree": "f286cb42bb367d24cfb69b7e6a1d4d5d97d19857",
      "parents": [
        "2026ca147b6460807b19c997600315806ecb3197"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Thu Aug 18 16:20:01 2016 -0700"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Fri Dec 09 13:59:14 2016 +0900"
      },
      "message": "DO NOT MERGE: Refactored NetworkStatsServiceTest to use Mockito instead of EasyMock.\n\nTest: m -j32 FrameworksServicesTests \u0026\u0026 adb install -r -g ${ANDROID_PRODUCT_OUT}/data/app/FrameworksServicesTests/FrameworksServicesTests.apk \u0026\u0026 adb shell am instrument -e class \"com.android.server.net.NetworkStatsServiceTest\" -w \"com.android.frameworks.servicestests/android.support.test.runner.AndroidJUnitRunner\"\n\nBUG: 30943463\n\n(cherry picked from commit b8f946dc4b24998f14e28573e452ab13ed533347)\n\nChange-Id: Ia9929295ab2396a7ebb133e65d157f98414e4dfa\n"
    },
    {
      "commit": "2026ca147b6460807b19c997600315806ecb3197",
      "tree": "fa2c47813021973e9e29e097dcbb4d103ac2aed4",
      "parents": [
        "77cba4bdf6de8aec02efe0da7e84f17603912b21"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Mon Aug 22 08:50:43 2016 -0700"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Fri Dec 09 13:59:10 2016 +0900"
      },
      "message": "DO NOT MERGE: Use @Ignore to explicitly disable a @Test method.\n\nBUG: 30839080\nBUG: 31007021\n\n(cherry picked from commit fc7d7a359f800d7320d29055ef3b4b75157aaf13)\n\nChange-Id: I35942e60493adebb22871541a34240368c691ee7\n"
    },
    {
      "commit": "77cba4bdf6de8aec02efe0da7e84f17603912b21",
      "tree": "2d5c885a3814c80615b51cd8bfe8c0e619784056",
      "parents": [
        "ffe5a46b3e65389722333482a959f98767c4c74c"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Thu Aug 18 15:31:45 2016 -0700"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Fri Dec 09 13:59:04 2016 +0900"
      },
      "message": "DO NOT MERGE: Fixed NetworkStatsServiceTest and converted it to JUnit4.\n\nMost tests were failing because due to a null NetworkCapabilities.\nExample:\n\n1) testNetworkStatsWifi(com.android.server.net.NetworkStatsServiceTest)\njava.lang.NullPointerException: Attempt to invoke virtual method \u0027boolean android.net.NetworkCapabilities.hasCapability(int)\u0027 on a null object reference\n\tat\n\tcom.android.server.net.NetworkStatsService.updateIfacesLocked(NetworkStatsService.java:983)\n\nBUG: 30839080\n\n(cherry picked from commit 574f370c6da52eeffe747248d68ef044617c7bcf)\n\nChange-Id: Ie09b2f43cf6ec745e404d5ec98bd0b072d211ea3\n"
    },
    {
      "commit": "ffe5a46b3e65389722333482a959f98767c4c74c",
      "tree": "f3490ab6257a01de602ca054b01888bc522a6b9a",
      "parents": [
        "ce765b7a51d9452aaa32e43bedeefb7ad200df52"
      ],
      "author": {
        "name": "Jeremy Joslin",
        "email": "jjoslin@google.com",
        "time": "Mon Aug 08 16:07:37 2016 -0700"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Fri Dec 09 13:42:29 2016 +0900"
      },
      "message": "DO NOT MERGE: VPN network stat accounting changes.\n\nProperly account for VPN apps that make heavy use of the tun\ninterface. Prior to this change a VPN app could be incorrectly charged\nfor more data than it actually used if it sent more traffic through\nthe tun interface than the underlying interface.\n\nThis change excludes VPN app traffic on the tun interface from the\nadjustment pool and doesn\u0027t redistribute traffic to the VPN app.\nInstead all of the redistributed traffic is deducted from the VPN app\nwhich effectively represents any overhead incurred by the VPN app.\n\nBUG: 30557871\n\n(cherry picked from commit 8b436d865c9f287e9ae491e5278cd8874f4a865b)\n\nChange-Id: I06f01aa8fe5fdc06b2d36cfb9c68feb244c2e5de\n"
    },
    {
      "commit": "ce765b7a51d9452aaa32e43bedeefb7ad200df52",
      "tree": "05084a3b9cd215a6109f1dd615e288d2a9ebd3ce",
      "parents": [
        "1853f78d768dc44efdc8576302b382ff81a0ffac"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Thu Oct 13 16:48:42 2016 +0900"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Fri Dec 09 13:42:26 2016 +0900"
      },
      "message": "DO NOT MERGE: ConnectivityThread: use lazy holder idiom\n\nThis patch changes the way that the ConnectivityThread is lazily\ninstantiated by using the \"lazy initialization holder class idiom\".\n\nThe first code point that tries to obtain a reference to the unique\nConnectivityThread instance will trigger the creation of the Singleton\nclass, which will guarantee a thread-safe initialization of the static\nINSTANCE field inside Singleton according to the language specs.\n\nThis is the Item #71 of Effective Java.\n\nThe unique static instance of ConnectivityThread is not stored directly\ninside ConnectivityThread class but is stored in a static nested class.\nThis is to avoid triggering the creation of that unique instance when\nZygote does class preloading at phone startup. Otherwise this would lead\nto Zygote creating a new OS thread during preloading, which is a fatal\nerror.\n\nTest: frameworks-wifi tests pass\nBug: 26749700\nBug: 28537383\nBug: 32130437\n\n(cherry picked from commit c4fe5d373caa9f53686e4d58e61394dd40558957)\n\nChange-Id: If13b363889a8e9396273a90c3d9f9421a48aecbc\n"
    },
    {
      "commit": "1853f78d768dc44efdc8576302b382ff81a0ffac",
      "tree": "af3cbd6452d6ad151e9e5fd47fea91146b12cf1b",
      "parents": [
        "4983e55853db9f9d1cc5720970c439b976480c52"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Thu Jul 07 10:15:56 2016 +0900"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Fri Dec 09 13:42:24 2016 +0900"
      },
      "message": "DO NOT MERGE: ConnectivityManager: use ConnectivityThread looper\n\nThis patch removes the static singleton looper used by\nConnectivityManager and instead uses the common ConnectivityThread.\n\nThis allows to removes the static atomic counter used to track\nthe number of registered NetworkCallback in ConnectivityManager, because\nthe looper is not turned off anymore when no callbacks are registered.\n\nAlso an overloaded version of sendRequestForNetwork is added taking as a\nnew parameter a Handler. This will allow to overload various callback\nand request related API calls with user provided Handlers.\n\nTest: ConnectivityServiceTest passes\nBug: 26749700\nBug: 28537383\nBug: 32130437\n\n(cherry picked from commit 7724cdd8b90006c852644d06cf6c8a28450c71c6)\n\nChange-Id: If956addbf8e7b11b36a4b966de7fca00e8f362c1\n"
    },
    {
      "commit": "4983e55853db9f9d1cc5720970c439b976480c52",
      "tree": "78426170db3a66fd7866e3828ead8ac51c1810bb",
      "parents": [
        "29154b000f1dfa6d7bd6a12359f439770463ce3e"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Wed Jul 06 22:53:17 2016 +0900"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Fri Dec 09 13:42:20 2016 +0900"
      },
      "message": "DO NOT MERGE: ConnectivityManager: a simpler CallbackHandler\n\nThis patch simplifies CallbackHandler in the following way:\n  - CallbackHandler directly uses the static references to\n    sNetworkCallback and sCallbackRefCount. This allows to remove\n    instance fields in CallbackHandler.\n  - CallbackHandler does not have a reference to ConnectivityManager\n    anymore\n  - CallbackHandler.getObject() is now generic in a type-safe way.\n\nTest: ConnectivityServiceTest passes\nBug: 28537383\nBug: 32130437\n\n(cherry picked from commit d42650faaa33ec6274278c65a6042228555ddd4f)\n\nChange-Id: I1b5fe2a361b5f623a8310ae698497c83d72f3034\n"
    },
    {
      "commit": "29154b000f1dfa6d7bd6a12359f439770463ce3e",
      "tree": "245e907b19334b565279d769835fc00bd8f1243c",
      "parents": [
        "c8e4cc8e9919260dac5f2f8a76b693e8a29bfcc1"
      ],
      "author": {
        "name": "Philip P. Moltmann",
        "email": "moltmann@google.com",
        "time": "Mon Apr 18 16:23:06 2016 -0700"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Fri Dec 09 13:42:09 2016 +0900"
      },
      "message": "DO NOT MERGE: Indicate the NsdServiceInfo attributes are only filled in for a resolved service.\n\nFixes: 28530428\n\n(cherry picked from commit 7d5da4b044183826ac8388c8bdb94ac979a81797)\n\nChange-Id: If2bfc06589adb361f11b89cd5923cb5c255cb680\n"
    },
    {
      "commit": "c8e4cc8e9919260dac5f2f8a76b693e8a29bfcc1",
      "tree": "e97246afeff50b88e2e7615bd9af2e3f7b2be365",
      "parents": [
        "25afce88a6f28d612fbd1f3c6905a375d11d51e4"
      ],
      "author": {
        "name": "Jeremy Klein",
        "email": "jlklein@google.com",
        "time": "Sat Mar 12 16:29:54 2016 -0800"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Fri Dec 09 13:42:02 2016 +0900"
      },
      "message": "DO NOT MERGE: Add a null check for the OnStartTetheringCallback.\n\nThis avoids a NullPointerException when trying to call the callback\nand gives a more readable error message.\n\n(cherry picked from commit 5f277e1667b49976a77c9fa79b9a04d775f3b49e)\n\nChange-Id: Ia419ff68ef10f308f9e44be47420e27099ee6070\n"
    },
    {
      "commit": "25afce88a6f28d612fbd1f3c6905a375d11d51e4",
      "tree": "19c68d160853dc500200d1952cbe7a0539954d02",
      "parents": [
        "a8c2c229d734cc5c94aafcdaea06824bcb668c2c",
        "f99a33a1b4599f6297faa316f408b58deebabefb"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Dec 09 03:19:13 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Dec 09 03:19:13 2016 +0000"
      },
      "message": "Merge changes from topic \u0027framework-net-aosp\u0027\n\n* changes:\n  DO NOT MERGE: IpConnectivityMetrics: rate limit ApfProgramEvents\n  DO NOT MERGE: TokenBucket for rate-limiting and throttling\n  DO NOT MERGE: IpConnectivityMetrics reads buffer size in settings\n  DO NOT MERGE: CaptivePortalLogin: set mixed content policy to compatibility.\n  DO NOT MERGE: Add IP conn metrics to dumpsys and bug reports\n  DO NOT MERGE: IpConnectivity metrics: add version number\n"
    },
    {
      "commit": "f99a33a1b4599f6297faa316f408b58deebabefb",
      "tree": "19c68d160853dc500200d1952cbe7a0539954d02",
      "parents": [
        "05ad47add8796880c5ba18d55ab6d5221f3e708d"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Tue Oct 18 10:36:33 2016 +0900"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Fri Dec 09 11:21:31 2016 +0900"
      },
      "message": "DO NOT MERGE: IpConnectivityMetrics: rate limit ApfProgramEvents\n\nThis patch uses the previously introduced TokenBucket to rate limit\nApfProgramEvents, still allowing for burst of ApfProgramEvents when a\nnew interface is set up (due to ipv4 provisioning, multicast lock, ipv6 RAs\ntriggering new APF program events in short amounts of time).\n\nTest: new test in IpConnectivityMetricsTest\nBug: 1550402\n\n(cherry picked from commit e1c173d2240a8eedf7685c9371087dc047a6931f)\n\nChange-Id: Idb640dec13ba64180985544b9709a586af66eb6e\n"
    },
    {
      "commit": "05ad47add8796880c5ba18d55ab6d5221f3e708d",
      "tree": "a0af36169a81ab5e26f9ae6e2dac578975526071",
      "parents": [
        "8c9e4b68f09c92f7f1d26916bbac7014c45f5d49"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Tue Oct 18 08:43:30 2016 +0900"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Fri Dec 09 11:21:29 2016 +0900"
      },
      "message": "DO NOT MERGE: TokenBucket for rate-limiting and throttling\n\nThis patch adds a TokenBucket class that can accumulate and distribute\ntokens over time.\n\nTest: comes with unit tests.\nBug: 32198637\n\n(cherry picked from commit 998493f0ee39ae0e9ffdea27f48f1b11b0807fcb)\n\nChange-Id: I4012ae6d02f7004bceee9a2ba03914f2a2506031\n"
    },
    {
      "commit": "8c9e4b68f09c92f7f1d26916bbac7014c45f5d49",
      "tree": "8787ac73edd5795e1e0d8230c8c5e109d040a45b",
      "parents": [
        "b55bf38351fc06d267735e8e377d4049c2a7b5d3"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Wed Oct 19 11:17:28 2016 +0900"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Fri Dec 09 11:21:26 2016 +0900"
      },
      "message": "DO NOT MERGE: IpConnectivityMetrics reads buffer size in settings\n\nTest: IpConnectivityMetricsTest passes. Also manually changed the new\nsetting and verified the buffer size is as expected after flushing the\nbuffer.\nBug: 32198637\n\n(cherry picked from commit 05686dbb6b965eb1a54591d2ed2334337886c6ee)\n\nChange-Id: Iefbeac3a688b260fb3f92dfe0bfd9db28e26749d\n"
    },
    {
      "commit": "b55bf38351fc06d267735e8e377d4049c2a7b5d3",
      "tree": "38f96acdcf13808f12ca34b7014a1cbe6970c903",
      "parents": [
        "5635c270a1bda538181daa260902a59030f084e6"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Fri Oct 21 18:41:25 2016 +0900"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Fri Dec 09 11:21:24 2016 +0900"
      },
      "message": "DO NOT MERGE: CaptivePortalLogin: set mixed content policy to compatibility.\n\nThis makes the policy for mixed HTTP/HTTPS content match Chrome.\nThis allows us to display login pages where unimportant\nsubresources are HTTP.\n\nBug: 32171569\n\n(cherry picked from commit 625166377b2d7c5f09d1e7617b3eac3a464fba53)\n\nChange-Id: Ia82958192d978280715442e182c34f9da5c88c66\n"
    },
    {
      "commit": "5635c270a1bda538181daa260902a59030f084e6",
      "tree": "1e078af1714292bc3068dbf591618d5e68c33df9",
      "parents": [
        "9df2ae138b9aa0f952fe742efa6e673e6bb02de1"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Wed Oct 19 13:48:40 2016 +0900"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Fri Dec 09 11:21:20 2016 +0900"
      },
      "message": "DO NOT MERGE: Add IP conn metrics to dumpsys and bug reports\n\nTest: manually created a bug report and inspected content.\n\n(cherry picked from commit 51d14cb60793a9a073b8a29ff7875bb518cd7d54)\n\nChange-Id: I9649cc2f9bb7a1975e60baaae55fcdb2a48c3b93\n"
    },
    {
      "commit": "9df2ae138b9aa0f952fe742efa6e673e6bb02de1",
      "tree": "2deefe5debfe49c9013d55be33dd521787a30ba4",
      "parents": [
        "a8c2c229d734cc5c94aafcdaea06824bcb668c2c"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Thu Oct 13 13:16:16 2016 +0900"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Fri Dec 09 11:21:11 2016 +0900"
      },
      "message": "DO NOT MERGE: IpConnectivity metrics: add version number\n\nThis patch adds a version field to ipconnectivity.proto and populates it\nto 2, which is the logical version number for NYC-MR2.\n\nTest: IpConnectivity{EventBuilder,Metrics}Test pass\nBug: 32127906\n\n(cherry picked from commit d680d4c856f54bea0c60dea74ba4204822391e49)\n\nChange-Id: If8f167c0dc4c1abe0e235e2adfd131168a4ddc52\n"
    },
    {
      "commit": "0e6cbb02e4c7d1a6d252d6aded3ade9b8a31d88a",
      "tree": "48ac4d98082a63ffcb19bd358281cac016fd5ce8",
      "parents": [
        "a8c2c229d734cc5c94aafcdaea06824bcb668c2c"
      ],
      "author": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Tue Dec 06 11:53:25 2016 +0900"
      },
      "committer": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Fri Dec 09 11:06:52 2016 +0900"
      },
      "message": "Stop setting net.dns{1234} system properties.\n\nNothing in the system consumes these properties, they were never part\nof an official public API, and they can leak information about the\ncurrent network to applications without networking prvileges.\n\nSpecifically, these properites allow applications to access network state\n(and detect network changes, etc.) without having the ACCESS_NETWORK_STATE\npermission.\n\nTest: runtest ConnectivityServiceTest passes\nBug: 33308258\nChange-Id: I85abc52bc11aee33940fd0af2397478a9a5c3b8f\n"
    },
    {
      "commit": "a8c2c229d734cc5c94aafcdaea06824bcb668c2c",
      "tree": "1fc3b8ee5d44977b38c7989b4bb511f720abca9d",
      "parents": [
        "b92aa5bdfde63e56f1e1e63fbe913638c440ffba",
        "7bccd43fa9559ae2f2e94038392ead93e44854b5"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Dec 08 20:52:14 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Dec 08 20:52:15 2016 +0000"
      },
      "message": "Merge \"Don\u0027t include front most excluded task in Multi-Window mode\""
    },
    {
      "commit": "c98c7bccdccbff1ceeda501e6a6f8c21d61649ca",
      "tree": "fbc2b6d42f90c0a4758491310904bdbabea79704",
      "parents": [
        "c69b210ec812772be12a819d26241ad0e4be42bd"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Dec 07 14:57:34 2016 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Dec 08 09:11:50 2016 -0700"
      },
      "message": "Prepare to move dexopt calls to Binder.\n\nSince InstallerConnection is about to be replaced by a new installd\nBinder interface, this change moves OtaDexoptService to override and\nmanually cook up the \u0027dexopt\u0027 command line that it expects to collect\nfrom PackageDexOptimizer.\n\nSince OtaDexoptService is designed to be run in isolation, add a new\nmode to Installer which ignores calls that aren\u0027t being intercepted.\n\nAlso moves to a single dexopt() method instead of having overloads.\n\nTest: builds, boots, fake OTA works\nBug: 13758960, 30944031\nChange-Id: I3a6a115289f1542d6df3e2993b9720118b7d1e8d\n"
    },
    {
      "commit": "9fa05c25c96f1c9f0af520dd46a86ac6a476ef91",
      "tree": "7021100c65d9e8a3dd298f89c8af0fdd19757957",
      "parents": [
        "b92aa5bdfde63e56f1e1e63fbe913638c440ffba"
      ],
      "author": {
        "name": "Tobias Thierer",
        "email": "tobiast@google.com",
        "time": "Mon Sep 26 22:17:21 2016 +0100"
      },
      "committer": {
        "name": "Tobias Thierer",
        "email": "tobiast@google.com",
        "time": "Thu Dec 08 15:43:37 2016 +0000"
      },
      "message": "API changes for updating Locale to OpenJDK8u60, part 2\n\nThis adds APIs for RFC 4647 Matching of Language Tags\n\nBug: 29935305\n\nTest: make update-api\n\nChange-Id: I58fc9481578a63ecd9528a62377fa9414cc836d4\n"
    },
    {
      "commit": "df2576045e0edbed05bf4511e0e9ba1038b8f3bb",
      "tree": "c2f71972c597a374f97425ab16fcc26471140cff",
      "parents": [
        "b92aa5bdfde63e56f1e1e63fbe913638c440ffba"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Wed Nov 30 13:29:39 2016 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Thu Dec 08 14:55:35 2016 +0000"
      },
      "message": "Move android.test classes from core/java to legacy-test/src\n\n(cherry picked from 2395179afb2ea957a9ba66404021c14160361611)\n\nBug: 30188076\nTest: make checkbuild\nMerged-In: Ifa291909fcf47da788627b496bd72f54efd78ed7\nChange-Id: Ie20dceb9f89df245ed6da5fc2fb06185bd7b104b\n"
    },
    {
      "commit": "b92aa5bdfde63e56f1e1e63fbe913638c440ffba",
      "tree": "8957f8e98a87c947b64dd42d7561ce379c70a811",
      "parents": [
        "78f3f0049e572298e87f00946dda5bd2bed2b902",
        "bf3b1bad15f45033d409669ac20e4b4e597065fd"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Thu Dec 08 09:56:18 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Dec 08 09:56:19 2016 +0000"
      },
      "message": "Merge changes from topic \u0027framework-net-aosp\u0027\n\n* changes:\n  DO NOT MERGE: [CS] Remove timeout event after first available\n  DO NOT MERGE: ApfTest: tag tests with @SmallTest or @MediumTest\n  DO NOT MERGE: Unbreak TetherInterfaceStateMachineTest.\n  DO NOT MERGE: Move the connectivity tests to frameworks/base/tests/net.\n  DO NOT MERGE: De-guava BroadcastInterceptingContext and move it to testutils.\n  DO NOT MERGE: Move FakeSettingsProvider to a common location.\n  DO NOT MERGE: ConnectivityServiceTest: mark flaky test as such\n  DO NOT MERGE: Add option to skip and avoid captive portals.\n  DO NOT MERGE: ApfFilter: use elapsedRealTime for RA lifetime\n  DO NOT MERGE: Do not synchronize boolean reads/writes\n  DO NOT MERGE: ApfFilter: systematically use u8, u16, u32 getters\n  DO NOT MERGE: Add fuzzing tests to ApfFilter RA processing\n  DO NOT MERGE: Support timeouts for requestNetwork() invocations.\n  DO NOT MERGE: Silence the obnoxious MTU 0 error message that occur when no MTU is specified for a given network.\n"
    },
    {
      "commit": "bf3b1bad15f45033d409669ac20e4b4e597065fd",
      "tree": "d506c6a98c18805500f4dbdd9dba124f6072e100",
      "parents": [
        "5d2654124e9e77dbda102a4435595c552cbc8e36"
      ],
      "author": {
        "name": "Etan Cohen",
        "email": "etancohen@google.com",
        "time": "Thu Oct 27 15:05:50 2016 -0700"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Thu Dec 08 17:13:37 2016 +0900"
      },
      "message": "DO NOT MERGE: [CS] Remove timeout event after first available\n\nGuarantees that timeouts are only delivered if a network never\nbecomes available. Once a network is available the timeout is\ncanceled.\n\nBug: 31402633\nTest: all timeout related unit tests pass (new one added)\n\n(cherry picked from commit 681fcda5896fd6c94f8a543ef9983c0a0644e87e)\n\nChange-Id: I7cd3086544c881915fc6dbf14b87a24ab0cd8748\n"
    },
    {
      "commit": "5d2654124e9e77dbda102a4435595c552cbc8e36",
      "tree": "fe095d44e95d9fbab510c95a99818baafc38b511",
      "parents": [
        "5bce5a16b17498981253d7a2d1a490667cd71798"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Wed Nov 02 13:43:22 2016 +0900"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Thu Dec 08 17:13:36 2016 +0900"
      },
      "message": "DO NOT MERGE: ApfTest: tag tests with @SmallTest or @MediumTest\n\nTest methods not tagged with @{Small,Medium,Large}Test will not appear\nin the Android Platform Continuous Testing dashboard.\n\nTest methods tagged with @LargeTest will not be run in the Android\nPlatform Continuous Testing dashboard.\n\nTest: ApfTest passes ($runtest frameworks-net)\nBug: 31479480\n\n(cherry picked from commit 4195c28347cc100954f83c3c92b4dde4673f8608)\n\nChange-Id: Ia215fc8e2ccc61f6223c24fdf390e1e759de302f\n"
    },
    {
      "commit": "5bce5a16b17498981253d7a2d1a490667cd71798",
      "tree": "b111bc3d2a7efdfb631c928bda7f633620ca2361",
      "parents": [
        "7ceef950a02b22bdf90609bdab8119b4bcd88edf"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Fri Oct 28 17:45:55 2016 +0900"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Thu Dec 08 17:13:36 2016 +0900"
      },
      "message": "DO NOT MERGE: Unbreak TetherInterfaceStateMachineTest.\n\nThis was broken by the implementation of IPv6 tethering, which\nrelies on various private classes which end up calling unmockable\nfinal classes like NetworkInterface.\n\nMaking everything public like this is almost certainly not the\nbest way of fixing this test, but on the other hand there is\nvalue to the test continuing to pass.\n\nTest: runtest frameworks-net  # Everything passes.\nTest: IPv6 tethering continues to work.\n\n(cherry picked from commit 7e0eeca8ba4063d0d35dda9a8dfcc612e45efb87)\n\nChange-Id: I8a3cf466871c026f4ae0f5cfa73071338cdf5b7e\n"
    },
    {
      "commit": "7ceef950a02b22bdf90609bdab8119b4bcd88edf",
      "tree": "315c20d9996fdd5aa0ec8342bd09b470925e9a85",
      "parents": [
        "3c295b59f5767904656235db48692906148ab631"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Fri Oct 28 12:48:36 2016 +0900"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Thu Dec 08 17:13:35 2016 +0900"
      },
      "message": "DO NOT MERGE: Move the connectivity tests to frameworks/base/tests/net.\n\nThis will give us a good place to put all the networking tests.\n\nFix: 31479480\nTest: adb  shell am instrument -w -e notClass com.android.server.connectivity.tethering.TetherInterfaceStateMachineTest \u0027com.android.frameworks.tests.net/android.support.test.runner.AndroidJUnitRunner\u0027  # PASS\n\n(cherry picked from commit ecc986d430f4b8158f177ed97d2edb741f11ff71)\n\nChange-Id: I993eeaa5dec001c39389023f355f506129b356e7\n"
    },
    {
      "commit": "3c295b59f5767904656235db48692906148ab631",
      "tree": "a23987ebbc62803911eda2a59d628ed41db2f68e",
      "parents": [
        "b8df76e413d0b8235d0bd71adf8f368f00391fcb"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Fri Oct 28 12:56:03 2016 +0900"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Thu Dec 08 17:13:35 2016 +0900"
      },
      "message": "DO NOT MERGE: De-guava BroadcastInterceptingContext and move it to testutils.\n\nRemoving the static dependency on guava reduces test compile time\nby about 20 seconds on a Z840, thus substantially speeding up the\ncompile/test cycle.\n\nMake FutureIntent public instead of package-private because it is\nused directly by NetworkPolicyManagementServiceTest, which as of\nthis CL is now in a different package.\n\n(cherry picked from commit 281a17c9580de5c9898be7d9654d428801976511)\n\nTest: runtest frameworks-services -c com.android.server.ConnectivityServiceTest  # PASS\nTest: runtest frameworks-services -c com.android.server.NetworkPolicyManagerServiceTest  # PASS\nTest: runtest frameworks-services -c com.android.server.net.NetworkStatsServiceTest  # PASS\nTest: runtest frameworks-services -c com.android.server.NetworkManagementServiceTest  # Already failing.\nBug: 31479480\nChange-Id: Ifab32c9214e9caab71dbf93b3d3ca88df6f49636\n"
    },
    {
      "commit": "b8df76e413d0b8235d0bd71adf8f368f00391fcb",
      "tree": "72f4a9f8aba8f92392b957b795fef676f64709f5",
      "parents": [
        "5d540d141027d818d1beb8b030d35ee9489b2e8a"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Fri Oct 28 12:37:38 2016 +0900"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Thu Dec 08 17:13:34 2016 +0900"
      },
      "message": "DO NOT MERGE: Move FakeSettingsProvider to a common location.\n\n(cherry picked from commit 7df1a82802cdf842d07a86a80383c7d5ea7ae53a)\n\nTest: runtest frameworks-util -c com.android.internal.util.test.FakeSettingsProviderTest\nTest: runtest frameworks-services -c com.android.server.ConnectivityServiceTest\nTest: runtest frameworks-services -c com.android.server.retaildemo.PreloadAppsInstallerTest\nTest: runtest frameworks-services -c com.android.server.retaildemo.RetailDemoModeServiceTest\nBug: 31479480\nChange-Id: I8d4d4de2937012dd33924f53e68f96241a9b2b4f\n"
    },
    {
      "commit": "5d540d141027d818d1beb8b030d35ee9489b2e8a",
      "tree": "08b2af859a1d60d733badd6e6f1aa00cd032d6f4",
      "parents": [
        "1f64f3fd14caca5ace9bfdbb036e3711d5484de3"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Mon Oct 17 15:54:51 2016 +0900"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Thu Dec 08 17:13:34 2016 +0900"
      },
      "message": "DO NOT MERGE: ConnectivityServiceTest: mark flaky test as such\n\nThis patch extracts into its own independent test a test sub-block looking\nfor a race condition when not waiting on handlers to become idle:\nthere is no way to prevent the race from not happening when looking for\nit this way. This makes the test flakky.\n\nThis new independent test is tagged with @FlakkyTest(tolerance \u003d 3).\n\nTest: ConnectivityServiceTest passes, with higher probability.\nBug: 31479480\n\n(cherry picked from commit c8c1027762d66c12c9c153ccbb8f80acdee8571c)\n\nChange-Id: I3c702bd981ed80ed606be0fb52d61eb3d7195a6f\n"
    },
    {
      "commit": "1f64f3fd14caca5ace9bfdbb036e3711d5484de3",
      "tree": "3f1daf22824af102aed2b06b1993fdb080e4d09e",
      "parents": [
        "dafc44ea11972b3152e67dc305a98d658f1465ba"
      ],
      "author": {
        "name": "Calvin On",
        "email": "con@google.com",
        "time": "Tue Oct 11 15:10:46 2016 -0700"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Thu Dec 08 17:13:33 2016 +0900"
      },
      "message": "DO NOT MERGE: Add option to skip and avoid captive portals.\n\nTest: ConnectivityServiceTest updated with test cases.\nTest: Manually tested against att-wifi in B42.\nBug: 30222699\n\n(cherry picked from commit be96da11ccb5dd500f920c3ba90d350857293b3d)\n\nChange-Id: I90c0f97fe0e41de4059bceae7b56ab3a70145696\n"
    },
    {
      "commit": "dafc44ea11972b3152e67dc305a98d658f1465ba",
      "tree": "0a0352a018525bed39599f4553d0c68bb943c221",
      "parents": [
        "94dcb3c3fd84a23bbcca75eb24c8ee9aa6ffa9b1"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Mon Oct 17 14:21:33 2016 +0900"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Thu Dec 08 17:13:33 2016 +0900"
      },
      "message": "DO NOT MERGE: ApfFilter: use elapsedRealTime for RA lifetime\n\nThis patch replaces System.currentTimeMillis() with\nSystemClock.elapsedRealTime() to make RA lifetime computation more\nresilient to various external events inducing jumps in\ncurrentTimeMillis().\n\nTest: ApfTest passes.\n\n(cherry picked from commit 305af8e98a4fce712c1a93daf3b050dac2e8b91a)\n\nChange-Id: If19011fc0c905948f2e42b975cfcc5f8672a95fb\n"
    },
    {
      "commit": "94dcb3c3fd84a23bbcca75eb24c8ee9aa6ffa9b1",
      "tree": "b497976af4a2df98f44b093f911c60898c56b92d",
      "parents": [
        "4104ff922040540b73f79f0f89dab3ae42b50462"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Tue Oct 04 11:24:12 2016 +0900"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Thu Dec 08 17:13:32 2016 +0900"
      },
      "message": "DO NOT MERGE: Do not synchronize boolean reads/writes\n\nThis patch removes the synchronization around the private variable\nmRunning inside of IpReachabilityMonitor and instead qualifeis the field\nas volatile.\n\nSynchronization is not needed for reads/writes on native fields or\nobject references because they are already guaranteed to be atomic.\n\nSynchronization here was used for enforcing memory visibility across\nconcurrent threads indirectly through monitor acquire/release.\nThe volatile keyword achieves this in a more explicit way.\n\nAlso, this patch changes the way that probeAll() copies the\nIpReachabilityMonitor\u0027s mIpWatchList by temporary holding mIpWatchList\nkeys into an ArrayList instead of a more expensive HashSet. Since Java\nHashSet are just degenerated HashMaps, and that key iteration order is\nbased on key hash, the iteration order over this temporary collection\nwill be consistent for the same mIpWatchList.\n\nTest: refactoring CL. Existing unit tests still pass.\n\n(cherry picked from commit b0f1186c034c4df9eb54ed29944d16ce6d7ade56)\n\nChange-Id: I48d2b4d837a459150cd431b400ec01b87b48c014\n"
    },
    {
      "commit": "4104ff922040540b73f79f0f89dab3ae42b50462",
      "tree": "87e3e451398f704b631c2258f30c4788bacb3a81",
      "parents": [
        "0668a61d82a424fb3714b6222f0e4213c18fc7b1"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Thu Oct 13 09:26:01 2016 +0900"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Thu Dec 08 17:13:32 2016 +0900"
      },
      "message": "DO NOT MERGE: ApfFilter: systematically use u8, u16, u32 getters\n\nThis patch adds a getUint8 getter for ByteBuffers and changes ApfFilter\nto make uses of getUint8/16/32 everywhere.\n\nThe return types of getUint16 is also changed from long to int, which\nwill expand gracefully to long as an unsigned int as it is guaranteed to\nbe positive after getUint16.\n\nTest: ApfTest passes\n\n(cherry picked from commit 995dd94673005b43d32456e2de5fda0090b23576)\n\nChange-Id: I606ebc5aedfcacde400d27cc6bc37145769b122c\n"
    },
    {
      "commit": "0668a61d82a424fb3714b6222f0e4213c18fc7b1",
      "tree": "5d897b2d8a4ae2767dcd4c82b285c2666d203807",
      "parents": [
        "3841a48d0a093bbbd6ffe6338170e1e2dbc11997"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Thu Oct 06 15:19:36 2016 +0900"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Thu Dec 08 17:13:31 2016 +0900"
      },
      "message": "DO NOT MERGE: Add fuzzing tests to ApfFilter RA processing\n\nTest: added new unit tests\n\n(cherry picked from commit 8acea76a2b7555b3bd5ca1170cca9d09e979fafc)\n\nChange-Id: I847d7e4895766042043c0bba1c9b9a698a705d87\n"
    },
    {
      "commit": "3841a48d0a093bbbd6ffe6338170e1e2dbc11997",
      "tree": "01aabb1b67e3a1c0e6298ea878493f50903eb295",
      "parents": [
        "accd5fcb79e1cd1b6c9cff7b14ff4c9ba78019a6"
      ],
      "author": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Wed Nov 25 12:49:38 2015 +0900"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Thu Dec 08 17:13:01 2016 +0900"
      },
      "message": "DO NOT MERGE: Support timeouts for requestNetwork() invocations.\n\n(cherry-pick of 06c3ef1367e850746eef0a5462bdce8674d74c30)\n(cherry picked from commit 57faba9ec73fbb311d5ca1df3278aee9728589d5)\n\nBug: 21414325\nChange-Id: I1a58823a372154589f972b98c4c428eab0e0523e\n"
    },
    {
      "commit": "accd5fcb79e1cd1b6c9cff7b14ff4c9ba78019a6",
      "tree": "fbd4ae26c8adea49c9c325fbdae2e437343a6dab",
      "parents": [
        "3af34c8e0a96e9bf72583a40616e9df1fcded847"
      ],
      "author": {
        "name": "Pierre Imai",
        "email": "imaipi@google.com",
        "time": "Mon Feb 08 16:01:40 2016 +0900"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Thu Dec 08 16:49:22 2016 +0900"
      },
      "message": "DO NOT MERGE: Silence the obnoxious MTU 0 error message that occur when no MTU is\nspecified for a given network.\n\nBug: 10705136\n\n(cherry picked from commit 54f0d9edbf7f6ea6dd805dc77fdbf2c3848188e2)\n\nChange-Id: I89e2fdfbbfa981d435a2974422d9d9c009872d76\n"
    },
    {
      "commit": "78f3f0049e572298e87f00946dda5bd2bed2b902",
      "tree": "a98da98cdb14bdc009993c6791f9ff049a562268",
      "parents": [
        "faf3aa697fc569180cc029c09affe08ade9c5e82",
        "972e236e84fd4073f7ecc40f2de326b388203dfb"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Dec 08 02:09:39 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Dec 08 02:09:40 2016 +0000"
      },
      "message": "Merge \"Support multiple caches in NetworkScoreService.\""
    },
    {
      "commit": "972e236e84fd4073f7ecc40f2de326b388203dfb",
      "tree": "a98da98cdb14bdc009993c6791f9ff049a562268",
      "parents": [
        "faf3aa697fc569180cc029c09affe08ade9c5e82"
      ],
      "author": {
        "name": "Amin Shaikh",
        "email": "ashaikh@google.com",
        "time": "Wed Dec 07 14:08:09 2016 -0800"
      },
      "committer": {
        "name": "Amin Shaikh",
        "email": "ashaikh@google.com",
        "time": "Wed Dec 07 15:52:33 2016 -0800"
      },
      "message": "Support multiple caches in NetworkScoreService.\n\n- Use RemoteCallbackList for managing multiple callbacks\n- Add unregisterNetworkScoreCache to the service interface\n- Added NetworkScoreServiceTest\n\nTest: runtest frameworks-services\n\nBug: 32913019\nChange-Id: I16ca1682acca9cbe403812e520394688a026414b\n"
    },
    {
      "commit": "faf3aa697fc569180cc029c09affe08ade9c5e82",
      "tree": "6d0abdb034af6f3b26f26010ecd63de381492552",
      "parents": [
        "2007ee8de375cc69ebdf57815f2ede0a35a227ca",
        "f1b75647a3d8b51abdc3064445db4f6e40617cb8"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Dec 07 23:00:26 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Dec 07 23:00:26 2016 +0000"
      },
      "message": "Merge \"Clarify doc on NETWORK_RECOMMENDATIONS_ENABLED and WIFI_WAKEUP_ENABLED.\""
    },
    {
      "commit": "2007ee8de375cc69ebdf57815f2ede0a35a227ca",
      "tree": "2887e7871fe47c54b5db2df5fb41c506d2f2fcb2",
      "parents": [
        "c69b210ec812772be12a819d26241ad0e4be42bd",
        "1ff5bd2646b5876121374f13deb96d3c1a21145e"
      ],
      "author": {
        "name": "Michael Plass",
        "email": "mplass@google.com",
        "time": "Wed Dec 07 22:56:57 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Dec 07 22:56:58 2016 +0000"
      },
      "message": "Merge \"Remove user-triggered disconnect counters\""
    },
    {
      "commit": "c69b210ec812772be12a819d26241ad0e4be42bd",
      "tree": "cdc96052485486b02d8a33433525a88da0f65607",
      "parents": [
        "fedf0503be52b1956087cba9dfc6d78dc3d34f98",
        "c24fa029bf9a2ee3c3657cb598e1595262ad2eeb"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Dec 07 22:38:48 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Dec 07 22:38:48 2016 +0000"
      },
      "message": "Merge \"Yet another set of installd Binder methods.\""
    },
    {
      "commit": "fedf0503be52b1956087cba9dfc6d78dc3d34f98",
      "tree": "c80a8904ff889c55994aae7be2bd25472dcb4575",
      "parents": [
        "f9587a35ba897b6229e9ae9829f815205d6ac474",
        "ba6f8c8bef19111cd6247df87392149b7963c36f"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Dec 07 21:43:24 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Dec 07 21:43:24 2016 +0000"
      },
      "message": "Merge \"Move dump() to dumpAsync(), more oneway calls.\""
    },
    {
      "commit": "ba6f8c8bef19111cd6247df87392149b7963c36f",
      "tree": "c80a8904ff889c55994aae7be2bd25472dcb4575",
      "parents": [
        "f9587a35ba897b6229e9ae9829f815205d6ac474"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Nov 09 12:25:44 2016 -0700"
      },
      "committer": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Wed Dec 07 12:24:21 2016 -0800"
      },
      "message": "Move dump() to dumpAsync(), more oneway calls.\n\nWhen calling out to dump services hosted by external apps, use\ndumpAsync() to avoid hanging if the remote process is wedged.\n\n(cherry picked from commit 850c83e6da3b34a4eab804133420247fc9dbb8a1)\n\nTest: builds, boots, runs with minimal logs triggered\nBug: 32715088\n\nMerged-In: I70aa2666ae21dae8f09ded2063bed359c0b210c5\n\nChange-Id: Ic2be10dc8478d613cea6e2c976b9987c250b86b7\n"
    },
    {
      "commit": "120e0375e90d59d3578eed50ecd32a748c5daa02",
      "tree": "459130e1f81a397dc6eb26761e4b2c8e70cc5311",
      "parents": [
        "7dda7e1e81a638a63d1266f4cabb912a4a2cc1ec"
      ],
      "author": {
        "name": "Przemyslaw Szczepaniak",
        "email": "pszczepaniak@google.com",
        "time": "Wed Dec 07 17:43:43 2016 +0000"
      },
      "committer": {
        "name": "Przemyslaw Szczepaniak",
        "email": "pszczepaniak@google.com",
        "time": "Wed Dec 07 17:43:43 2016 +0000"
      },
      "message": "Track libcore change 547177ca5c312f84fb22e6e7bf12f54129034e5d\n\nBug: 29935305\nTest: CtsLibcoreTestCases\nChange-Id: I8ee39da7d7e0a4e94e3772b6e52068b53755693f\n"
    },
    {
      "commit": "c24fa029bf9a2ee3c3657cb598e1595262ad2eeb",
      "tree": "b03713a77f0d4bff31d63c866e1361ae400ae8bd",
      "parents": [
        "68ea36243df0d75bd6ab4f6c94cfba40b91ab089"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Dec 07 10:37:47 2016 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Dec 07 10:38:24 2016 -0700"
      },
      "message": "Yet another set of installd Binder methods.\n\nPretty straightforward refactoring.\n\nTest: builds, boots, apps install fine\nBug: 13758960, 30944031\nChange-Id: Ide533a04e1e31475a16046722f48b1934d8cacd3\n"
    },
    {
      "commit": "1ff5bd2646b5876121374f13deb96d3c1a21145e",
      "tree": "14f35cc2009a866f86b2ffe20eb31957a44410e8",
      "parents": [
        "f9587a35ba897b6229e9ae9829f815205d6ac474"
      ],
      "author": {
        "name": "Michael Plass",
        "email": "mplass@google.com",
        "time": "Mon Nov 21 11:35:27 2016 -0800"
      },
      "committer": {
        "name": "Michael Plass",
        "email": "mplass@google.com",
        "time": "Wed Dec 07 08:50:10 2016 -0800"
      },
      "message": "Remove user-triggered disconnect counters\n\nRemoves these fields of WifiConfiguration:\n  numUserTriggeredWifiDisableLowRSSI\n  numUserTriggeredWifiDisableBadRSSI\n  numUserTriggeredWifiDisableNotHighRSSI\n  numTicksAtBadRSSI\n  numTicksAtNotHighRSSI\n  numUserTriggeredJoinAttempts\n\nAdd parcel test for WifiConfiguration.\n\nBug: 33013630\nTest: unit tests pass\nChange-Id: I39566c4e7845b01899739c36d6ec633f272fec6f\n"
    },
    {
      "commit": "f9587a35ba897b6229e9ae9829f815205d6ac474",
      "tree": "ca0b0f195358e7c616adbddf56efd3b43e62b5d1",
      "parents": [
        "6ac5293751cf29975054e65547c270b842208a02",
        "02f42f9a8b7fa566d0d936c0a3874b3e2a3ac6c4"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Wed Dec 07 16:37:10 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Dec 07 16:37:11 2016 +0000"
      },
      "message": "Merge \"Add legacy-performance-test-hostdex target\""
    },
    {
      "commit": "02f42f9a8b7fa566d0d936c0a3874b3e2a3ac6c4",
      "tree": "ca0b0f195358e7c616adbddf56efd3b43e62b5d1",
      "parents": [
        "6ac5293751cf29975054e65547c270b842208a02"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Wed Dec 07 14:21:53 2016 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Wed Dec 07 14:21:53 2016 +0000"
      },
      "message": "Add legacy-performance-test-hostdex target\n\nThis is needed for some internal targets that currently depend\ndirectly on the source files and which break when the source\nfile is moved.\n\nBug: 30188076\nTest: make legacy-performance-test-hostdex\nChange-Id: I653325605204c1f272bd5f669e2297eedeaf7d61\n"
    },
    {
      "commit": "6ac5293751cf29975054e65547c270b842208a02",
      "tree": "0af0fea2642bf05ef117c5e24cbb0afdf188ea60",
      "parents": [
        "3af34c8e0a96e9bf72583a40616e9df1fcded847",
        "9249205d1ba91065b7f314a05706d2b1011ee71b"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Wed Dec 07 12:52:01 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Dec 07 12:52:03 2016 +0000"
      },
      "message": "Merge \"Replace core-junit with junit\""
    }
  ],
  "next": "3af34c8e0a96e9bf72583a40616e9df1fcded847"
}
