)]}'
{
  "log": [
    {
      "commit": "5a748e5ee2b14a0d40a922c52cfc48c26bb0601f",
      "tree": "f2f6d29634568c4152b40692e13f1c9e49c5cb73",
      "parents": [
        "4c8fa81d177bfd2f144ebe153df74edb8b332f5a",
        "0e5e472b4b207e1edbd9061acf57c56b88073c51"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 08 20:12:02 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 08 20:12:02 2018 +0000"
      },
      "message": "Merge \"VintfObject: add getTargetFcmVersion\""
    },
    {
      "commit": "0e5e472b4b207e1edbd9061acf57c56b88073c51",
      "tree": "01c569f85e5739eb03d1b65f9c5de0dea5cda9ea",
      "parents": [
        "f448371208a53a93657b8120105e5f5fbb9feee8"
      ],
      "author": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Wed Feb 07 14:16:21 2018 -0800"
      },
      "committer": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Wed Feb 07 14:30:43 2018 -0800"
      },
      "message": "VintfObject: add getTargetFcmVersion\n\nAdd getTargetFrameworkCompatibilityMatrixVersion that returns\ntarget FCM version in device manifest.\n\nTest: VintfDeviceInfo\nBug: 70993015\nChange-Id: Ia6354f85e7fae898444067977fb594febb0112fa\n"
    },
    {
      "commit": "18f8500e3246b7e1c57e427503997e3b120ed716",
      "tree": "ab53ab53f4b7aa699ec7b7c3bec306eab0add8ee",
      "parents": [
        "9f1682876751b9e4b14f7919d0205fdd02809575",
        "5183c0eeffd3d3cd842b5d4c9d06e271d85a5501"
      ],
      "author": {
        "name": "Martijn Coenen",
        "email": "maco@google.com",
        "time": "Wed Feb 07 13:47:45 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 07 13:47:45 2018 +0000"
      },
      "message": "Merge \"Fix gNumProxies double increment.\""
    },
    {
      "commit": "5183c0eeffd3d3cd842b5d4c9d06e271d85a5501",
      "tree": "85941af12fb9f57022ad4975cfa877fa0c27a700",
      "parents": [
        "1f14eab551c8c0d32b5b922618c41ac3e72d85e3"
      ],
      "author": {
        "name": "Martijn Coenen",
        "email": "maco@google.com",
        "time": "Wed Feb 07 10:25:39 2018 +0100"
      },
      "committer": {
        "name": "Martijn Coenen",
        "email": "maco@google.com",
        "time": "Wed Feb 07 10:35:35 2018 +0100"
      },
      "message": "Fix gNumProxies double increment.\n\nBug: 70217678\nTest: proxy counts look reasonable\nChange-Id: I6147d6038794eabd6b3446d78cd29af9d40ef7cc\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": "1a535ba4b9145b35d2cf82bd9acd05d42be95056",
      "tree": "4fdbd7bcbe6550b2a552c26316074d4996765080",
      "parents": [
        "2bbf12aa78e3583bfcbe7f468a18d0da3bce24ab",
        "4b1e6c3b2fcef7dae2afe869a77b7f0b5f79f4ba"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 07 01:24:36 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 07 01:24:36 2018 +0000"
      },
      "message": "Merge \"BootReceiver: changed deprecated Build.RADIO to Build.getRadioVerison to get non-empty radio firmware version in SYSTEM_LAST_KMSG.\""
    },
    {
      "commit": "a3ccb8d85426fb43dcf3e2d2ff9240e6b3e35135",
      "tree": "2fd57df75cc860fab7bf11c93264449ca1878711",
      "parents": [
        "872f386f6bb7fad23282824edf3500efefc48de8",
        "789289d7311b80d4e048502a1f33ab9fc8da39f1"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Feb 06 20:57:25 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 06 20:57:25 2018 +0000"
      },
      "message": "Merge \"Add strings and carrier config needed network service.\""
    },
    {
      "commit": "383a7d432fa0bd8b638700e424b26b9f30a5d4b3",
      "tree": "4f6631c5dc1d48cf14d0ecb1819a31f4e1ed1b5c",
      "parents": [
        "de65acb9159c5c98940e7f01e27f8a49bc0536ce",
        "918c5241c00ea937ec2ed1681bc190c4a0e53f3c"
      ],
      "author": {
        "name": "Stanley Tng",
        "email": "stng@google.com",
        "time": "Tue Feb 06 01:02:33 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 06 01:02:33 2018 +0000"
      },
      "message": "Merge \"Add function to change LE Tx Data Length\""
    },
    {
      "commit": "789289d7311b80d4e048502a1f33ab9fc8da39f1",
      "tree": "6ea217afc739996b85255974442754566c979e57",
      "parents": [
        "de65acb9159c5c98940e7f01e27f8a49bc0536ce"
      ],
      "author": {
        "name": "Malcolm Chen",
        "email": "refuhoo@google.com",
        "time": "Mon Jan 29 15:10:46 2018 -0800"
      },
      "committer": {
        "name": "Malcolm Chen",
        "email": "refuhoo@google.com",
        "time": "Mon Feb 05 14:25:22 2018 -0800"
      },
      "message": "Add strings and carrier config needed network service.\n\nAdd resource overlay and carrier config which will determine\nwhich package / network services will be bound to.\n\nBug: 64132030\nTest: regression tests\nChange-Id: I5f515ec16b712e7be25f69e0e079d672227542b0\nMerged-In: I5f515ec16b712e7be25f69e0e079d672227542b0\n"
    },
    {
      "commit": "918c5241c00ea937ec2ed1681bc190c4a0e53f3c",
      "tree": "e6897aa53b8973f9f77872fa15127d814c639c28",
      "parents": [
        "853628db726caf4109bb116aec2e6defe5b1b49d"
      ],
      "author": {
        "name": "Stanley Tng",
        "email": "stng@google.com",
        "time": "Tue Jan 16 10:39:32 2018 -0800"
      },
      "committer": {
        "name": "Stanley Tng",
        "email": "stng@google.com",
        "time": "Sun Feb 04 15:55:39 2018 -0800"
      },
      "message": "Add function to change LE Tx Data Length\n\nAs part of new SL4A tests for LE CoC to measure data throughput, this\ncommit adds a function to set the LE Tx Data Length parameter to its\nmaximum.\n\nTest: Ran the new ACTS Tests for LE CoC (BleCocTest and BleCoc2ConnTest)\nBug: 70683224\nChange-Id: Iea93f6cb9f4f7cc484f121afa158d7dae18d1ef1\n"
    },
    {
      "commit": "771e229a23fa4edb2e5ec2c3f76271d0804f2f4b",
      "tree": "aee9d1594b25448d7fbcc9ba55c3550f2e6f4b5e",
      "parents": [
        "2e9bdd78f2e7596bd57d2e17e5df4b68796583e1",
        "1c8756154adf195178e2ba5bb0f082f452ceceb5"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Sun Feb 04 23:18:52 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sun Feb 04 23:18:52 2018 +0000"
      },
      "message": "Merge \"Update OWNER files for connectivity\""
    },
    {
      "commit": "2e9bdd78f2e7596bd57d2e17e5df4b68796583e1",
      "tree": "422aef0be6641a400d1a3922b95b67ddce02ed74",
      "parents": [
        "0276f4290fa09059f8284080ba2138534dd1830f",
        "fcbda454986bc35a4cd19962e97b0901bee8068d"
      ],
      "author": {
        "name": "Jack Yu",
        "email": "jackyu@google.com",
        "time": "Sat Feb 03 04:40:46 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Feb 03 04:40:46 2018 +0000"
      },
      "message": "Merge \"Added data service configuration support\""
    },
    {
      "commit": "0276f4290fa09059f8284080ba2138534dd1830f",
      "tree": "3c96938c2a73e18d169e29ecfdde218c3bda015e",
      "parents": [
        "853628db726caf4109bb116aec2e6defe5b1b49d",
        "87b69637400e5d27d7ba37331e5c36cc0ffbcfbd"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Feb 03 04:40:06 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Feb 03 04:40:06 2018 +0000"
      },
      "message": "Merge \"Added permission for binding data service\""
    },
    {
      "commit": "853628db726caf4109bb116aec2e6defe5b1b49d",
      "tree": "763496e1f3a2ad60864c26e6270aabdcdba8e4b1",
      "parents": [
        "6c40bbdc5e85ca0ac1cb1dd25236ee0a904dae36",
        "6da1ddaa5346ebaf5ddc77a7f097132793ee4018"
      ],
      "author": {
        "name": "Stanley Tng",
        "email": "stng@google.com",
        "time": "Sat Feb 03 01:36:03 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Feb 03 01:36:03 2018 +0000"
      },
      "message": "Merge \"Add function to update LE connection parameters\""
    },
    {
      "commit": "6c40bbdc5e85ca0ac1cb1dd25236ee0a904dae36",
      "tree": "62152223e08b9def1156e86e4f14eb6fc4eafa14",
      "parents": [
        "b5993cfb8e69d39e15ce1f59c7f36ce290ff2470",
        "5185d71470edb287e5b6288411ccfc8fa0a41da2"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Feb 03 00:03:57 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Feb 03 00:03:57 2018 +0000"
      },
      "message": "Merge \"Add DENSITY_440\""
    },
    {
      "commit": "0a6c539901f58dd2678881328651cc2930ae5612",
      "tree": "79468ad327f848cc074c47071775cdb0330b67e3",
      "parents": [
        "d281b1a116652e0972f5ec86316db356c3ed7cfd",
        "c07a96d1e4a90c1c42040fd24ad9e4f209becce4"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Feb 02 23:13:54 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 02 23:13:54 2018 +0000"
      },
      "message": "Merge \"Enable multiple active Ethernet interfaces\""
    },
    {
      "commit": "87b69637400e5d27d7ba37331e5c36cc0ffbcfbd",
      "tree": "2d60f13ef729acbc0ce129a93e7f8b9ec4827143",
      "parents": [
        "b6d5a85a9ccd2f691dc2e18746e91758414cdfdf"
      ],
      "author": {
        "name": "Jack Yu",
        "email": "jackyu@google.com",
        "time": "Wed Jan 31 16:40:33 2018 -0800"
      },
      "committer": {
        "name": "Jack Yu",
        "email": "jackyu@google.com",
        "time": "Fri Feb 02 13:52:20 2018 -0800"
      },
      "message": "Added permission for binding data service\n\nThis is to make sure only the system can bind the data service.\n\nTest: Manual\nBug: 64132030\nMerged-In: Iaf4e4a604396ec37c83516f1d1f163614ef23c3d\nChange-Id: Iaf4e4a604396ec37c83516f1d1f163614ef23c3d\n"
    },
    {
      "commit": "337e2feada926f36c8bcdf9d8ecbd7555a5f6b28",
      "tree": "322bab4b1dc14c84961e99b514d8186bc884d1b9",
      "parents": [
        "a07d895f0916f0a9f96b3b962bf2967265ffa356",
        "a0771613821c7bddfd3599c194e1632edc794e23"
      ],
      "author": {
        "name": "Ruchi Kandoi",
        "email": "kandoiruchi@google.com",
        "time": "Fri Feb 02 20:34:23 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 02 20:34:23 2018 +0000"
      },
      "message": "Merge \"Add NFC Transaction Event intent actions and extras\""
    },
    {
      "commit": "a0771613821c7bddfd3599c194e1632edc794e23",
      "tree": "9c3a47c4fab82df4ee0349723c4285e90cffc24c",
      "parents": [
        "816a05340083d867804671f473d329bf7eed762a"
      ],
      "author": {
        "name": "Ruchi Kandoi",
        "email": "kandoiruchi@google.com",
        "time": "Fri Feb 02 09:14:39 2018 -0800"
      },
      "committer": {
        "name": "Ruchi Kandoi",
        "email": "kandoiruchi@google.com",
        "time": "Fri Feb 02 09:19:08 2018 -0800"
      },
      "message": "Add NFC Transaction Event intent actions and extras\n\nBug: 72556384\nBug: 65127791\nTest: Test App check for RF Events\nChange-Id: I22f5e3d8dc11d518c96a74e54121e072caa6a18d\n"
    },
    {
      "commit": "73e7a1a739c311ec1eab0895652601d646743d5c",
      "tree": "842adfac764a34f3cb8c4130f1cd44e72d4ef9db",
      "parents": [
        "bb1d07e681d8f5a438d2aec43b8bd760d5bde9c8",
        "816a05340083d867804671f473d329bf7eed762a"
      ],
      "author": {
        "name": "Ruchi Kandoi",
        "email": "kandoiruchi@google.com",
        "time": "Fri Feb 02 16:43:11 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 02 16:43:11 2018 +0000"
      },
      "message": "Merge \"Add ServiceSpecificExceptions for SecureElementService.\""
    },
    {
      "commit": "bb1d07e681d8f5a438d2aec43b8bd760d5bde9c8",
      "tree": "e9005c78b3fab079f6d8ee713261d24bfcdafcaf",
      "parents": [
        "871202da2f7e09e5de395d8aac8b229d47b99b8f",
        "20328e8df09733a622370707a0b4e0479bc99607"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Feb 02 04:22:34 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 02 04:22:34 2018 +0000"
      },
      "message": "Merge \"Return non-negetive value in getMobileStats method\""
    },
    {
      "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": "816a05340083d867804671f473d329bf7eed762a",
      "tree": "0ee22bd8722444a23338995cf5f5b566e967e3bb",
      "parents": [
        "3b50dc3d34fc486b64006f15bad75dbe3ccda229"
      ],
      "author": {
        "name": "Ruchi Kandoi",
        "email": "kandoiruchi@google.com",
        "time": "Thu Feb 01 16:15:25 2018 -0800"
      },
      "committer": {
        "name": "Ruchi Kandoi",
        "email": "kandoiruchi@google.com",
        "time": "Thu Feb 01 16:27:37 2018 -0800"
      },
      "message": "Add ServiceSpecificExceptions for SecureElementService.\n\nOpen Mobile API expects NoSuchElementException and IOException to be\nthrown in certain scenarios. ServiceSpecificExceptions are added to\nfulfil that.\n\nBug: 64994044\nTest: Throw fake errors and test with sample app\nChange-Id: Iec5a85a5444360616d0857817f71c721f26c53bc\n"
    },
    {
      "commit": "6da1ddaa5346ebaf5ddc77a7f097132793ee4018",
      "tree": "fbef708a9e3315d2efe7b6837a7a4ffe0bc05bc5",
      "parents": [
        "8d5b08c4302f4963a442a113c503c3f9108eee14"
      ],
      "author": {
        "name": "Stanley Tng",
        "email": "stng@google.com",
        "time": "Thu Jan 04 15:42:25 2018 -0800"
      },
      "committer": {
        "name": "Stanley Tng",
        "email": "stng@google.com",
        "time": "Thu Feb 01 15:27:14 2018 -0800"
      },
      "message": "Add function to update LE connection parameters\n\nAs part of new SL4A tests for LE CoC to measure data throughput\nperformance, this commit will add a function to enable the CoC Facade\nto modify the LE Connection Parameters especially the Connection\nIntervals.\n\nTest: Ran the new ACTS Tests for LE CoC\nBug: 70683224\nChange-Id: Ie071b09a44d68fe063198a39eb788c434b092442\n"
    },
    {
      "commit": "fcbda454986bc35a4cd19962e97b0901bee8068d",
      "tree": "2532e5ba37ff53fdb5079ff5496e19780e05fd7d",
      "parents": [
        "cb9cd96c506a8255fbd2ad5f0ed1dde4a6c16e74"
      ],
      "author": {
        "name": "Jack Yu",
        "email": "jackyu@google.com",
        "time": "Thu Feb 01 14:50:53 2018 -0800"
      },
      "committer": {
        "name": "Jack Yu",
        "email": "jackyu@google.com",
        "time": "Thu Feb 01 14:50:53 2018 -0800"
      },
      "message": "Added data service configuration support\n\nAdded the resource overlay and carrier config support for\ndata service binding package configuration.\n\nTest: Telephony sanity tests\nBug: 64132030\nChange-Id: I3d64e6c0a5f86b6a4953eb611ee6828153a8b12d\n"
    },
    {
      "commit": "ddd440b8a24c4bea382f7136a6427aa7063cd6db",
      "tree": "0c9c65e898790c30bf77b134aafb8ef7c0c59c16",
      "parents": [
        "cb9cd96c506a8255fbd2ad5f0ed1dde4a6c16e74",
        "156ed92c94fb5accceb96ef00390be2894cd3b11"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu Feb 01 15:31:05 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 01 15:31:05 2018 +0000"
      },
      "message": "Merge \"Propagate the \"dalvik.vm.minidebuginfo\" property to ART run-time.\""
    },
    {
      "commit": "4b1e6c3b2fcef7dae2afe869a77b7f0b5f79f4ba",
      "tree": "f832c69eedc6545ced2ea41bf70b412df31096f9",
      "parents": [
        "cb9cd96c506a8255fbd2ad5f0ed1dde4a6c16e74"
      ],
      "author": {
        "name": "Siyuan Zhou",
        "email": "siyuanzhou@google.com",
        "time": "Wed Dec 20 11:38:12 2017 -0800"
      },
      "committer": {
        "name": "Siyuan Zhou",
        "email": "siyuanzhou@google.com",
        "time": "Wed Jan 31 16:17:12 2018 -0800"
      },
      "message": "BootReceiver: changed deprecated Build.RADIO to Build.getRadioVerison to get non-empty radio firmware version in SYSTEM_LAST_KMSG.\n\nTest: Manually verified on Pixel 2 XL, Nexus 5X and 6P devices.\nBUG:70934228\nChange-Id: I40da7e659619e06587409c6b83c655b46bcbd5b2\n"
    },
    {
      "commit": "cb9cd96c506a8255fbd2ad5f0ed1dde4a6c16e74",
      "tree": "39a1cf5618531f5e926993207b13e96d86d0fb48",
      "parents": [
        "3b50dc3d34fc486b64006f15bad75dbe3ccda229",
        "b8ef541cbc61ce11bd68106ff431752de86f761f"
      ],
      "author": {
        "name": "Benedict Wong",
        "email": "benedictwong@google.com",
        "time": "Wed Jan 31 22:45:26 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 31 22:45:26 2018 +0000"
      },
      "message": "Merge \"Fix minor bugs with tunnel mode implementation\""
    },
    {
      "commit": "3b50dc3d34fc486b64006f15bad75dbe3ccda229",
      "tree": "bfe4c642e4e1ea5dd14a3f7144b4a96d3018d8a7",
      "parents": [
        "880839d2d10d0a3468a29b9ea20007159f014444",
        "c50928b763c2e580bf313436ff641fd5a5a83cb0"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 31 20:17:19 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 31 20:17:19 2018 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Make AndroidRuntime only start the debugger for zygote forked apps.\"\"\""
    },
    {
      "commit": "880839d2d10d0a3468a29b9ea20007159f014444",
      "tree": "b1492eee48793b3c0a7c4fa70d20caf4535288a2",
      "parents": [
        "9a9e22fad495bac81183cff3ee8bf97abefe445e",
        "d960cc4a511e4f659aaae4aea9bc3b032d28c26b"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed Jan 31 18:35:00 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 31 18:35:00 2018 +0000"
      },
      "message": "Merge \"Show hidden API warning once per process\""
    },
    {
      "commit": "c50928b763c2e580bf313436ff641fd5a5a83cb0",
      "tree": "0b32668e3e549905bd390d6f7afb26cfdfc107a3",
      "parents": [
        "ff5d60b268dfd848c236b62ae241370a68aae39f"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Jan 31 16:47:29 2018 +0000"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Jan 31 17:03:20 2018 +0000"
      },
      "message": "Revert \"Revert \"Make AndroidRuntime only start the debugger for zygote forked apps.\"\"\n\nThis reverts commit ff5d60b268dfd848c236b62ae241370a68aae39f.\n\nReason for revert: Fixed issue breaking go/art-build.\n\nBug: 72400560\nTest: Build\nChange-Id: Ie8943068302bec02d149917ccf738c0d935f8fe0\n"
    },
    {
      "commit": "ff5d60b268dfd848c236b62ae241370a68aae39f",
      "tree": "1c664fb108dd3a3b4056379102f81c2f66fdfb59",
      "parents": [
        "2372af9cd89a30262e84c7c028068268959ed6b0"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed Jan 31 07:36:35 2018 +0000"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed Jan 31 10:43:17 2018 +0000"
      },
      "message": "Revert \"Make AndroidRuntime only start the debugger for zygote forked apps.\"\n\nThis reverts commit daf17d415c1a99c515ffa75f3ec3bb0fb87627fe.\n\nReason for revert: Topic broke go/art-build. Reverting as ART Sheriff. \n\nChange-Id: I913dcb82532d448116b0c60d98a91b9b7442d5c9\n"
    },
    {
      "commit": "2372af9cd89a30262e84c7c028068268959ed6b0",
      "tree": "0b32668e3e549905bd390d6f7afb26cfdfc107a3",
      "parents": [
        "01e426d158b95f3b0a218db0e4811b3064c16195",
        "435e84b9fcaf129dbd0d9f8c86c3ead5c51e9405"
      ],
      "author": {
        "name": "hansson",
        "email": "hansson@google.com",
        "time": "Wed Jan 31 10:23:11 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 31 10:23:11 2018 +0000"
      },
      "message": "Merge \"Fix \"zygote is killed by signal 1\"\""
    },
    {
      "commit": "01e426d158b95f3b0a218db0e4811b3064c16195",
      "tree": "6cf6719d3b6b3313cc9befd221caad66336f338b",
      "parents": [
        "262f84699ed50444b96cf4984168ac40f42135b2",
        "493cebd02538adf347413450238bb1f3f7a0d541"
      ],
      "author": {
        "name": "Yohann Roussel",
        "email": "yroussel@google.com",
        "time": "Wed Jan 31 09:57:44 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 31 09:57:44 2018 +0000"
      },
      "message": "Merge \"Add tests about MultiDex corruption recovering\""
    },
    {
      "commit": "d960cc4a511e4f659aaae4aea9bc3b032d28c26b",
      "tree": "59e45d850f04cbd0297d7f189cae3a3956fefb51",
      "parents": [
        "b6d5a85a9ccd2f691dc2e18746e91758414cdfdf"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed Jan 31 07:59:17 2018 +0000"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed Jan 31 08:03:29 2018 +0000"
      },
      "message": "Show hidden API warning once per process\n\nIn order to not spam users with warning toasts, add a boolean flag\nthat guards the displaying of a warning message about hidden API\nusage and is set after the first time a message is shown.\n\nBug: 64382372\nTest: manual\nChange-Id: If7ea995ddf4727a15eccf55dad42ef7775b1fc91\n"
    },
    {
      "commit": "b8ef541cbc61ce11bd68106ff431752de86f761f",
      "tree": "57def44ddbbdd68311b9f88de46907faa46ee95e",
      "parents": [
        "b6d5a85a9ccd2f691dc2e18746e91758414cdfdf"
      ],
      "author": {
        "name": "Benedict Wong",
        "email": "benedictwong@google.com",
        "time": "Wed Jan 24 15:31:39 2018 -0800"
      },
      "committer": {
        "name": "Benedict Wong",
        "email": "benedictwong@google.com",
        "time": "Wed Jan 31 01:16:53 2018 +0000"
      },
      "message": "Fix minor bugs with tunnel mode implementation\n\nThis change makes sure tunnel mode transforms are properly activated\nupon construction, and corrects bugs with how policy selectors were being\ngenerated for tunnel mode policies. Specifically, the source/destination could\nnot be empty strings, even for cases where an empty selector was desired.\n\nBug: 72457770\nTest: GTS tests run\nChange-Id: I9a9f64c34b07883a02a5c996614f958486d214fc\n"
    },
    {
      "commit": "5cdf28f38b264a0e7d4f5040930178c92405a94b",
      "tree": "5a498f5ded3d04512589517525bdecbae335d53e",
      "parents": [
        "59fec059a95ec75987cf1522d9bfcd86aa6d2fb7",
        "daf17d415c1a99c515ffa75f3ec3bb0fb87627fe"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Tue Jan 30 19:55:28 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jan 30 19:55:28 2018 +0000"
      },
      "message": "Merge \"Make AndroidRuntime only start the debugger for zygote forked apps.\""
    },
    {
      "commit": "8cabb012fa2d0a50adea52c577ea348030a8f58c",
      "tree": "93db898d0075c2705fe8515547b4deece56a3940",
      "parents": [
        "1dfa830bb02f9b30a510e8c487238e6328d2bebc",
        "70224716b357c3d637bb6615160841fc4c5409ca"
      ],
      "author": {
        "name": "nharold",
        "email": "nharold@google.com",
        "time": "Tue Jan 30 18:39:07 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jan 30 18:39:07 2018 +0000"
      },
      "message": "Merge changes from topic \"cherry-pick-cell-keepalive\"\n\n* changes:\n  Rework KeepalivePacketData for Compatibility with Cell\n  Add Constants for NATT Keepalive to RILConstants\n  Relocate KeepalivePacketData to frameworks/base\n"
    },
    {
      "commit": "1dfa830bb02f9b30a510e8c487238e6328d2bebc",
      "tree": "8fd1a122cc70621c9ba5c468c6e52708182c2f3d",
      "parents": [
        "90529d212a3965639a7daea84837c21fecc1bb65",
        "858bfaf79c97e000af68649970994ee16bdd08ac"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jan 30 18:33:27 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jan 30 18:33:27 2018 +0000"
      },
      "message": "Merge \"Add handover permission, fill in some missing API gaps.\""
    },
    {
      "commit": "156ed92c94fb5accceb96ef00390be2894cd3b11",
      "tree": "af74d16188c73a6217f1bba6302fd9d2d2afaa47",
      "parents": [
        "2aed62d6645879de71050995acd5dbc5b377c6ec"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Jan 30 14:37:37 2018 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Jan 30 14:37:37 2018 +0000"
      },
      "message": "Propagate the \"dalvik.vm.minidebuginfo\" property to ART run-time.\n\nChange-Id: I27e230fe91490defde4cc38ca8cbc3aa0765fed1\n"
    },
    {
      "commit": "435e84b9fcaf129dbd0d9f8c86c3ead5c51e9405",
      "tree": "ae9daa24880a733514fed426f4cf42c05f6f73df",
      "parents": [
        "4db2d4690e13cf4596a1def1fc0a4bc78593f388"
      ],
      "author": {
        "name": "yuanhao",
        "email": "yuanhao@xiaomi.com",
        "time": "Mon Jan 15 15:37:02 2018 +0800"
      },
      "committer": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Tue Jan 30 14:29:56 2018 +0000"
      },
      "message": "Fix \"zygote is killed by signal 1\"\n\nIgnore the signal SIGHUP in Zygote and all its forks.\n\nBug:71965619\nTest: manual\n\nChange-Id: I7987bb044d97ae21ec27beca6e9aefcbe77197f5\nSigned-off-by: yuanhao \u003cyuanhao@xiaomi.com\u003e\n"
    },
    {
      "commit": "daf17d415c1a99c515ffa75f3ec3bb0fb87627fe",
      "tree": "b58b124aa1e7f19cb853e9fd9ebc1bb45d80cbe2",
      "parents": [
        "ac2247c4060567850d98735734de666ee60f6fbb"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Jan 29 14:27:38 2018 -0800"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Mon Jan 29 23:50:45 2018 +0000"
      },
      "message": "Make AndroidRuntime only start the debugger for zygote forked apps.\n\nThis got changed unintentionally in commit fffb273. Restore the\noriginal behavior where JDWP will not be enabled for non-zygote apps.\n\nBug: 72400560\nTest: atest CtsJdwpSecurityHostTestCases\nChange-Id: I364a9d8b6e87efc1604741a7e5dd68221ed8e491\n"
    },
    {
      "commit": "20328e8df09733a622370707a0b4e0479bc99607",
      "tree": "ee35e4668e7b0907f1cedb47ba33e2c172700393",
      "parents": [
        "fbef950d952d4f33725eb6cc318e531b841e9f28"
      ],
      "author": {
        "name": "Chenbo Feng",
        "email": "fengc@google.com",
        "time": "Thu Jan 25 11:43:52 2018 -0800"
      },
      "committer": {
        "name": "Chenbo Feng",
        "email": "fengc@google.com",
        "time": "Mon Jan 29 12:19:26 2018 -0800"
      },
      "message": "Return non-negetive value in getMobileStats method\n\nThe current implementation of getMobileRxBytes and all the similiar\nmethod adds up the return values for multiple calls to getRxBytes so if\nall of them return UNSUPPORTED for any reason, getMobileRxBytes() would\nreturn a value such as -3. This behavior is not compliance with the cts\nTrafficStatsTest which always assume getMobileRxBytes to return a\nnon-negetive value. The method now will check tha stats get from\ngetRxBytes method and add them up only if the stats is valid.\n\nBug: 72473294\nTest: run cts -m CtsNetTestCases -t android.net.cts.TrafficStatsTest\nChange-Id: I656970ebc8f6506cf17c4353ad46c0178bb65cfd\n"
    },
    {
      "commit": "70224716b357c3d637bb6615160841fc4c5409ca",
      "tree": "82ed38e35efcceb2abc3aec6ea2dd72112b67ff2",
      "parents": [
        "1e2fdde5333231604e24e7ba4e1e1f16732fb48a"
      ],
      "author": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Wed Dec 06 19:07:32 2017 -0800"
      },
      "committer": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Mon Jan 29 11:20:20 2018 -0800"
      },
      "message": "Rework KeepalivePacketData for Compatibility with Cell\n\nKeepalivePacketData currently mixes multiple concepts: the\nlist of parameters that are used to generate a keepalive\npacket, the keepalive packet itself, and the parameters that\nare needed to send a keepalive packet over an ethernet link.\n\nThe KeepalivePacketData is now a parcelable that can be used\ngenerically by any NetworkAgent, regardless of how that Agent\nfulfills its duty to initiate and maintain a keepalive session.\n\nBug: 69063212\nTest: verified with SL4A, additional tests pending\nMerged-In: I23dc4827ae729583356a8ff0f02e39a2ad2b81f5\nChange-Id: I23dc4827ae729583356a8ff0f02e39a2ad2b81f5\n(cherry picked from commit 26deacfbe7eb1730aea9eeb03fa265af2ce90cad)\n"
    },
    {
      "commit": "26de1d3b9085b0a46542e922b8443c65723164b1",
      "tree": "e3ecfcb3666706f7831284b4bde8ad5d44d410e6",
      "parents": [
        "ac2247c4060567850d98735734de666ee60f6fbb"
      ],
      "author": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Thu Nov 02 21:01:46 2017 -0700"
      },
      "committer": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Mon Jan 29 11:19:43 2018 -0800"
      },
      "message": "Relocate KeepalivePacketData to frameworks/base\n\nDue to an issue resolving the boot classpath, the\nKeepalivePacketData structure cannot be referenced\nby frameworks/opt/telephony while it is in services.\n\n-Move KeepalivePacketData to android.net\n-Also, relocate IpUtils without changing the package\n name.\n\nBug: 38350389\nTest: compilation\nMerged-In: If5fc63e9ad8b9b2d4c2fee47ff4bab2ab190a05a\nChange-Id: If5fc63e9ad8b9b2d4c2fee47ff4bab2ab190a05a\n(cherry picked from commit 41002e3080461ba6a7aee12c1d12dd13edc8626c)\n"
    },
    {
      "commit": "c07a96d1e4a90c1c42040fd24ad9e4f209becce4",
      "tree": "68690b711c9a635a1e78193fb2fa574d61611f8f",
      "parents": [
        "183865f3e1e3be6f62f854225880bc76ef606020"
      ],
      "author": {
        "name": "Pavel Maltsev",
        "email": "pavelm@google.com",
        "time": "Tue Oct 31 15:34:16 2017 -0700"
      },
      "committer": {
        "name": "Pavel Maltsev",
        "email": "pavelm@google.com",
        "time": "Mon Jan 29 10:11:05 2018 -0800"
      },
      "message": "Enable multiple active Ethernet interfaces\n\n- add Ethernet interface configurations to config.xml; no vendors can\nspecify network capabilities (in particular they can mark network as\nrestricted which make sense for embedded applications + static IP\nconfiguration)\n- extend EthernetManager to support multiple interfaces, use interface\nname as an identificator\n- extend IpConfigStore to store IP configuration based on string\nidentifier (e.g. ethernet name)\n\nTest: runtest -x frameworks/base/services/tests/servicestests/ -c com.android.server.net.IpConfigStoreTest\nChange-Id: Ic1e70003f2380ca8edb4469d6b34e27c5e8cf059\n"
    },
    {
      "commit": "ac2247c4060567850d98735734de666ee60f6fbb",
      "tree": "12f46fe239983fc3cc376b7fc728fe9d72abd205",
      "parents": [
        "a20239bf710abd4bc44efa10978b5875de7e783c",
        "62c46eac8e3c769fed400580f555f1fb878e99fd"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jan 29 17:59:23 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jan 29 17:59:23 2018 +0000"
      },
      "message": "Merge \"Add android.Manifest.permission.NFC_TRANSACTION_EVENT\""
    },
    {
      "commit": "795cbfb1c1719fa597d9911aa4a39ad8d7dbbc3e",
      "tree": "925b7b7046d6102abbe5a1917f41de078f9ddc04",
      "parents": [
        "2aed62d6645879de71050995acd5dbc5b377c6ec"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Fri Jan 26 12:23:15 2018 +0000"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Mon Jan 29 10:22:54 2018 +0000"
      },
      "message": "Control hidden API toast with a system property\n\nCL Id0a4200f912ac3303026cb26b6d8974c47332828 sets a system property\n\"ro.art.hiddenapi.warning\" for non-release, non-user builds. This\npatch reads that flag and unless the flag is set, will only ever show\nthe warning message if the app is debuggable.\n\nTest: manual\nBug: 64382372\nChange-Id: I9b552792779589a7a91818a82d5c86141fc0a30b\n"
    },
    {
      "commit": "62c46eac8e3c769fed400580f555f1fb878e99fd",
      "tree": "936e698569a1a13404f7a9f48595a2288df30636",
      "parents": [
        "b8b7589531a5c9c0102729baa364a4470eb50430"
      ],
      "author": {
        "name": "Ruchi Kandoi",
        "email": "kandoiruchi@google.com",
        "time": "Wed Jan 03 12:20:46 2018 -0800"
      },
      "committer": {
        "name": "Ruchi Kandoi",
        "email": "kandoiruchi@google.com",
        "time": "Sat Jan 27 01:48:31 2018 +0000"
      },
      "message": "Add android.Manifest.permission.NFC_TRANSACTION_EVENT\n\nThis permission would gate if an application is eligible to receive\nnotifications about nfc transactions taking place on the Secure\nElements.\n\nBug: 72556384\nTest: Test dummy notifications on sample app.\nChange-Id: I233f7185bbc3a5511f79ae012cc60a081968eb99\n"
    },
    {
      "commit": "b8b7589531a5c9c0102729baa364a4470eb50430",
      "tree": "250f9b60667206e9f6f175fbf5da3d4f9f5c0a64",
      "parents": [
        "093ab1dc61961bcbf4d60c0f7d096acab9b7c75e",
        "dcf4c6dc2629bef9e05fbc27f034304abd653d10"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Jan 27 00:53:00 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Jan 27 00:53:00 2018 +0000"
      },
      "message": "Merge \"Add UID and Service for Secure Element Application\""
    },
    {
      "commit": "080a0e781cd588c7bce0d91383d1d3ec240a13e9",
      "tree": "d3562716080150356616cad7a1c03c663d3d94bd",
      "parents": [
        "03d44ce815a2cfcf963ed8d38fe3de59fc0abd8f"
      ],
      "author": {
        "name": "Pavlin Radoslavov",
        "email": "pavlin@google.com",
        "time": "Wed Jan 03 19:38:39 2018 -0800"
      },
      "committer": {
        "name": "Pavlin Radoslavov",
        "email": "pavlin@google.com",
        "time": "Fri Jan 26 13:08:00 2018 -0800"
      },
      "message": "Add support for Multi-A2DP state machines per device\n\n* Update usage of A2dpService API calls that take BluetoothDevice\n  as an additional argument\n* Update the description for BluetoothA2dp.connect()\n\nExempt-From-Owner-Approval: De-facto owner of the relevant changes is\nthe Bluetooth team.\nBug: 69269748\nTest: Manual\nChange-Id: I190ed48ef65bbc8b88b45f84ebd6ab3d21cf0b4e\nMerged-In: I190ed48ef65bbc8b88b45f84ebd6ab3d21cf0b4e\n(cherry picked from commit 502af2192c6d291174efa434a70101f302a5bd97)\n"
    },
    {
      "commit": "dcf4c6dc2629bef9e05fbc27f034304abd653d10",
      "tree": "17f1831ad7a0921c228facf2ef191d8236936574",
      "parents": [
        "656096516cf0af5ade7174d441d1a7ca47a77ccd"
      ],
      "author": {
        "name": "Ruchi Kandoi",
        "email": "kandoiruchi@google.com",
        "time": "Wed Jan 03 16:14:57 2018 -0800"
      },
      "committer": {
        "name": "Ruchi Kandoi",
        "email": "kandoiruchi@google.com",
        "time": "Fri Jan 26 11:11:52 2018 -0800"
      },
      "message": "Add UID and Service for Secure Element Application\n\nBug: 64994044\nTest: Boot; Check Service loaded.\nMerged-In: I2f48ff204acd29b1a9f6819910aba5f8f3762977\nChange-Id: I2f48ff204acd29b1a9f6819910aba5f8f3762977\n(cherry picked from commit dfaf4bdd1e7e12caf9bb69c8facc38e879861baf)\n"
    },
    {
      "commit": "418a96457c9fee8aea330cb54e539ab7b2293fef",
      "tree": "60c019a7b4955884b48e0ea25b9ebfbf9c4d2f6e",
      "parents": [
        "8e8c9664ae966695f2d6bd431de362ff9bd575ce",
        "3bb32503d47be30e5083acd1fe1bd6e74fd64697"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Jan 26 12:37:48 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 26 12:37:48 2018 +0000"
      },
      "message": "Merge \"Add dalvik.vm.minidebuginfo property for ART\""
    },
    {
      "commit": "5185d71470edb287e5b6288411ccfc8fa0a41da2",
      "tree": "0b84bbf689acf1b0a2899cb87c99fd070efc66b3",
      "parents": [
        "df984fae2656104d84fec8fa876f2236d290da39"
      ],
      "author": {
        "name": "weijuncheng",
        "email": "weijuncheng@xiaomi.com",
        "time": "Fri Jan 26 13:05:40 2018 +0800"
      },
      "committer": {
        "name": "weijuncheng",
        "email": "weijuncheng@xiaomi.com",
        "time": "Fri Jan 26 13:07:42 2018 +0800"
      },
      "message": "Add DENSITY_440\n\nAdd 440dpi as a supported screen density\n\nBug: 72424600\n\nTest: run android.dpi.cts.ConfigurationTest#testScreenConfiguration and android.app.cts.ActivityManagerMemoryClassTest#testGetMemoryClass\n\nChange-Id: I0dbf998ae02515a97f0d5668eeedc7098da4cca4\nSigned-off-by: weijuncheng \u003cweijuncheng@xiaomi.com\u003e\n"
    },
    {
      "commit": "71a9e66d4a5fcec5c7358aa081e900ae32583991",
      "tree": "279f4e739a0c133117174a4a88f3b9d87493fbc3",
      "parents": [
        "183865f3e1e3be6f62f854225880bc76ef606020",
        "9223fd6b6b3b1781b2284b0427d808a0780ff65b"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jan 26 00:28:52 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 26 00:28:52 2018 +0000"
      },
      "message": "Merge \"Deprecate android.util.Mutable*.\""
    },
    {
      "commit": "858bfaf79c97e000af68649970994ee16bdd08ac",
      "tree": "f108b51758e03762937828ede7c0aac3c861ba9a",
      "parents": [
        "df984fae2656104d84fec8fa876f2236d290da39"
      ],
      "author": {
        "name": "Tyler Gunn",
        "email": "tgunn@google.com",
        "time": "Mon Jan 22 15:17:54 2018 -0800"
      },
      "committer": {
        "name": "Tyler Gunn",
        "email": "tgunn@google.com",
        "time": "Thu Jan 25 16:20:03 2018 -0800"
      },
      "message": "Add handover permission, fill in some missing API gaps.\n\nAdding the ACCEPT_HANDOVER runtime permission which an app must have in\norder to accept handovers (this is per design).\n\nAdding missing onHandoverComplete method in the android.telecom.Connection\nAPI (per design).\n\nFinishing plumbing for android.telecom.Call#onHandoverComplete API.\n\nFix issue where the new handover API methods would never get called; the\nlegacy handover extra was being used in this case when it should not have\nbeen.\n\nBug: 65415068\nTest: Verified using new CTS tests\nChange-Id: If1558f6a23911862c02ac5b18fb62d86911ed7e2\nMerged-In: If1558f6a23911862c02ac5b18fb62d86911ed7e2\n"
    },
    {
      "commit": "183865f3e1e3be6f62f854225880bc76ef606020",
      "tree": "4fef61f65a394949b337064064b73bc0d57c1b70",
      "parents": [
        "fbef950d952d4f33725eb6cc318e531b841e9f28",
        "a1f9401a220fcb2b5435a7e40dc971ea82ca00b2"
      ],
      "author": {
        "name": "Ruchi Kandoi",
        "email": "kandoiruchi@google.com",
        "time": "Thu Jan 25 23:30:50 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 25 23:30:50 2018 +0000"
      },
      "message": "Merge \"Open Mobile API for frameworks/base\""
    },
    {
      "commit": "fbef950d952d4f33725eb6cc318e531b841e9f28",
      "tree": "f6d8d3536140cfe3de75044004429988782e0c4a",
      "parents": [
        "93b1787a3dca92c52f1e0c75ddc9726360fbd410",
        "927d6de11fa038ee78bb90933eee3ebc20b68751"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu Jan 25 19:53:13 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 25 19:53:13 2018 +0000"
      },
      "message": "Merge \"Show a warning toast/dialog when an app uses hidden APIs\""
    },
    {
      "commit": "93b1787a3dca92c52f1e0c75ddc9726360fbd410",
      "tree": "bfc809bc07b89ae1c8171c704fd687a426c48a2b",
      "parents": [
        "d5cba89b983a7e889b12b48ac4143201ddec7908",
        "f90773cf4f47b93f98f361985c8c7663e79b3d5a"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jan 25 19:23:18 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 25 19:23:18 2018 +0000"
      },
      "message": "Merge \"Tcp socket metrics: implement INetdEventListener callback\""
    },
    {
      "commit": "d5cba89b983a7e889b12b48ac4143201ddec7908",
      "tree": "cd4bfa4d00dd84ea4dc29ee753bcd7594d5d4cb7",
      "parents": [
        "197f072da218cd2b5edd575513233f8b79a7b720",
        "5b495d54d3831bd1a72309643f724958e814c90c"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jan 25 18:08:07 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 25 18:08:07 2018 +0000"
      },
      "message": "Merge \"ActivityManager: Add support for agents on startup\""
    },
    {
      "commit": "a1f9401a220fcb2b5435a7e40dc971ea82ca00b2",
      "tree": "9d850e170940c8249c66cf649b0f9b3009bd76e6",
      "parents": [
        "197f072da218cd2b5edd575513233f8b79a7b720"
      ],
      "author": {
        "name": "Ruchi Kandoi",
        "email": "kandoiruchi@google.com",
        "time": "Fri Dec 08 15:07:03 2017 -0800"
      },
      "committer": {
        "name": "Ruchi Kandoi",
        "email": "kandoiruchi@google.com",
        "time": "Thu Jan 25 18:04:17 2018 +0000"
      },
      "message": "Open Mobile API for frameworks/base\n\nThis contribution is an implementation of the GlobalPlatform\nOpen Mobile API for Android with some modifications to\nnamespaces and packages to make it suitable as a core\nAndroid component.\n\nThis contribution is based on\n0001-Open-Source-Contribution-of-Smartcard-Service-for-fr.patch\nwhich can be found in\nhttps://portland.source.codeaurora.org/patches/quic/la/PATCH_217881_OpenMobileAPI_20171206.tar.gz\n\nThe submitted patch was derived from\nhttps://source.codeaurora.org/quic/la/platform/packages/apps/SmartCardService/commit/?h\u003dLA.BF64.1.2.1\u0026id\u003d06ecea9abb8264049f52c7e31c0bc13330a425d5.\n\nTest: Sample Application; open Channels and transmit APDUs\n\nChange-Id: Iac5206bd84798ca0fcdb504c89e1da5383012a5a\nSigned-off-by: Jeremy O\u0027Donoghue \u003cjodonogh@codeaurora.org\u003e\n"
    },
    {
      "commit": "9223fd6b6b3b1781b2284b0427d808a0780ff65b",
      "tree": "8e0a257d9dfc127517162527fd4d3587fa209436",
      "parents": [
        "b6a5c92b507cefc92508593301821faa32f9ea65"
      ],
      "author": {
        "name": "Tobias Thierer",
        "email": "tobiast@google.com",
        "time": "Wed Jan 24 13:40:56 2018 +0000"
      },
      "committer": {
        "name": "Tobias Thierer",
        "email": "tobiast@google.com",
        "time": "Thu Jan 25 12:29:40 2018 +0000"
      },
      "message": "Deprecate android.util.Mutable*.\n\nSince http://r.android.com/565744 , these classes do not appear\nin the signature of any other Android API. There are no plans to\nmake them part of any future API signatures.\n\nThey do not provide useful abstractions because:\n - They lack encapsulation and functionality (value is nonfinal;\n   lack of equals/hashCode and toString).\n - It\u0027s trivial for apps to implement similar types for their\n   internal use.\n\nOnly three of these eight classes (Mutable{Int,Long,Boolean}) are\nused internally in Android; most of these usages could be written\nbetter with named, more specific classes.\n\nTherefore these classes do not pull their own weight on the API\nsurface of android.util.\n\nThis CL deprecates all eight classes in preparation for removing\nthem from the Android API surface at some point in the future, and\nto allow the unused classes to be removed entirely.\n\nBug: 71546998\nTest: Treehugger\n\n(cherry picked from commit d57219411b3718da0850ef109e63d1a311a03d31)\n\nChange-Id: Ib8736faa86d0ae5eec2c47a294f21adcf21d3dc4\nMerged-In: I1cc1eb5ca9c36749bbb9a233d60036f6319bf2d3\n"
    },
    {
      "commit": "af3fb3efe4869174b71d957c19435af4937f2be1",
      "tree": "7a60dc6e2fcbff23bdac3696f9af086fa2accea7",
      "parents": [
        "a8452ed2a675d3f69ff8e6b281a176b69155dcd7",
        "c43e89f9731b39ef4c7f6bc1f2eb0ae724386c45"
      ],
      "author": {
        "name": "nharold",
        "email": "nharold@google.com",
        "time": "Thu Jan 25 05:50:33 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 25 05:50:33 2018 +0000"
      },
      "message": "Merge \"Move Keepalive out of IpSecTransform.Builder\""
    },
    {
      "commit": "cf8c3fe19c7d7dfebb03f853eab1af91a00d5888",
      "tree": "9fe52b1f41d8461f6592b98cc6c11232f2411dc2",
      "parents": [
        "f4dc715575eeef0274f8c66a113decc6d50efccc"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Thu Jan 25 09:41:51 2018 +0900"
      },
      "committer": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Thu Jan 25 04:51:44 2018 +0000"
      },
      "message": "Fix a bug where a NetworkAgent gets repeatedly torn down\n\nmUids is not marshalled correctly when null so if the\nNetworkAgent runs in another process and is not a VPN then\nthe system will see its allowed Uids as being the empty\nlist (\u003d nobody can use this network) instead of a null\nlist (\u003d everybody can use this network). This breaks\nemulator networking.\n\nBug: 72436966\nTest: runtests frameworks-net\nTest: also manual testing, this does fix emulator networking\n      and seems not to break phone networking\nChange-Id: Id2bbf3808e80b19cd055c832c11cf72372710942\n"
    },
    {
      "commit": "f90773cf4f47b93f98f361985c8c7663e79b3d5a",
      "tree": "c31b9e3e502077a7bb0bd3f7a5e3c61f72506faa",
      "parents": [
        "f4dc715575eeef0274f8c66a113decc6d50efccc"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Tue Jan 23 11:43:16 2018 +0900"
      },
      "committer": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Thu Jan 25 13:26:43 2018 +0900"
      },
      "message": "Tcp socket metrics: implement INetdEventListener callback\n\nThis patch implements the new INetdEventListener.onTcpSocketStatsEvent\ncallback added in INetdEventListener.\n\nFor the time being, tcp socket stats are tracked inside TcpMetrics only\nfor dumpsys printing and bug report integration as a first step.\n\nBug: 64147860\nTest: manually tested, watching output of\n      $ adb shell dumpsys connmetrics\nChange-Id: I10ab24c6da4bb654d9198a4d8d00ccdc972cc0d5\n"
    },
    {
      "commit": "c43e89f9731b39ef4c7f6bc1f2eb0ae724386c45",
      "tree": "a12ba54be55907554ae5451cdb56c411146fa0d7",
      "parents": [
        "2a8c24be18dfc3d7cb3f405bee898613b23a212e"
      ],
      "author": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Wed Dec 06 19:12:28 2017 -0800"
      },
      "committer": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Wed Jan 24 19:32:04 2018 -0800"
      },
      "message": "Move Keepalive out of IpSecTransform.Builder\n\nThe lifecycle of Keepalive offloading is, unfortunately\ndifferent from that of an IpSecTransform. Because starting\na keepalive is fundamentally asynchronous, and isn\u0027t valid\nuntil after a transform exists, it will now be a separate\noptional procedure that may succeed or fail. It remains\nlinked with a Transform by the need for a Transform to exist\nin order to initiate a Keepalive.\n\nBug: 38350389\nTest: compilation\nChange-Id: Ia76fccee41f86d694dff436043293d0c0762c041\n"
    },
    {
      "commit": "5b495d54d3831bd1a72309643f724958e814c90c",
      "tree": "3072969512ad323d3582a33e72761775d5e35524",
      "parents": [
        "d3dac85e46dc438304df752f48498e03e58f7b17"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Jan 22 15:15:54 2018 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jan 24 17:48:02 2018 -0800"
      },
      "message": "ActivityManager: Add support for agents on startup\n\nAdd setAgentApp similar to setDebugApp. If given, attempt to attach the given\nagent during handleBindApplication.\n\nThe flow needed a slight refactor. It is not possible to do a debuggability\ncheck at setAgentApp time (without checking all installed apps). Instead,\nwhen a ProfilerInfo contains an agent, perform a debuggability check then.\nThis is consistent with how setDebugApp works.\n\nExpose through the shell command:\n\n  cmd activity set-agent-app process agent\n\nAdd CTS coverage.\n\nBug: 69929492\nTest: m\nTest: m cts\nTest: cts-tradefed run commandAndExit cts-dev -m CtsJvmtiAttachingHostTestCases\nChange-Id: I65e869debd45e6073f9ab21cb9de9c9deb828a2e\n"
    },
    {
      "commit": "50cfaa40ca0a711de57f7cf934cd87502424bf34",
      "tree": "92a7adaa73987897f0ee9f9acc09d4ebc997981a",
      "parents": [
        "d3dac85e46dc438304df752f48498e03e58f7b17",
        "071bcaa906eabd3e01afa06e72720bdb92897bc3"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 24 23:09:28 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 24 23:09:28 2018 +0000"
      },
      "message": "Merge \"Set Zygote.DISABLE_HIDDEN_API_CHECKS for system apps\""
    },
    {
      "commit": "d3dac85e46dc438304df752f48498e03e58f7b17",
      "tree": "8f676a8e2ebb70d006bafe3f86437dccc7462a9c",
      "parents": [
        "ec44a402d2c90a6d7e57f51a99d9e1f5e136a839",
        "45a9b5dbbc071d777b8d22c085ba33298afcac49"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 24 21:49:00 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 24 21:49:00 2018 +0000"
      },
      "message": "Merge \"Add scan interval and window lengths to Settings.Global.\""
    },
    {
      "commit": "071bcaa906eabd3e01afa06e72720bdb92897bc3",
      "tree": "05e4ebe4ee06cd9007548ddef346c710f3d61bdc",
      "parents": [
        "ec44a402d2c90a6d7e57f51a99d9e1f5e136a839"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed Jan 17 18:06:47 2018 +0000"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed Jan 24 21:42:28 2018 +0000"
      },
      "message": "Set Zygote.DISABLE_HIDDEN_API_CHECKS for system apps\n\nWhen forking a process for a system app, pass a flag to ART that\nwill disable enforcement of hidden API access checks.\n\nTest: manual\nBug: 64382372\nChange-Id: I5ba81d84a44c9467613f060428b11e1d9d725bd3\n"
    },
    {
      "commit": "927d6de11fa038ee78bb90933eee3ebc20b68751",
      "tree": "08baca2a9950177dd2b3cf5dedb2fcd3189291e9",
      "parents": [
        "fa208b42266cf3cde8b6ea94cda5eb7b0ed72c4b"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed Jan 24 19:54:30 2018 +0000"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed Jan 24 19:57:18 2018 +0000"
      },
      "message": "Show a warning toast/dialog when an app uses hidden APIs\n\nCheck VMRuntime.hasUsedHiddenApi() on each Activity start and show\na toast/dialog urging the user to check logcat.\n\nTest: manual\nBug: 64382372\nChange-Id: Ida8a6ed9ab9b56a76882501b2a3473a5f1448cb3\n"
    },
    {
      "commit": "3bb32503d47be30e5083acd1fe1bd6e74fd64697",
      "tree": "ff11ce33e5f8214a4b213332e3e8813dfe824ee0",
      "parents": [
        "fa208b42266cf3cde8b6ea94cda5eb7b0ed72c4b"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Jan 23 17:57:24 2018 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Wed Jan 24 15:54:27 2018 +0000"
      },
      "message": "Add dalvik.vm.minidebuginfo property for ART\n\nThe property enables generation of mini-debug-info for JIT.\n\nChange-Id: I1cfce8b1b463d9e45bbe823c285c1639653bb1b5\n"
    },
    {
      "commit": "7c48e0e074c62eccf0fb6fdad8fd03b4b6107c23",
      "tree": "97a54d9ed040041cbe982e8a69d76f09c834504c",
      "parents": [
        "1f568c14acdff2270b981885966032c73b24399a"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu Jan 18 15:25:18 2018 +0000"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed Jan 24 14:12:33 2018 +0000"
      },
      "message": "Set DEXOPT_DISABLE_HIDDEN_API_CHECKS for system apps\n\nFor now, system apps will be exempt from hidden API access checks.\nPass the appropriate flag to dexopt.\n\nTest: manual\nBug: 64382372\nBug: 72305689\nMerged-In: I5676ffa3a5ba680bf5f6bab0b62f0acf4a933097\nChange-Id: Idc3067d2c6040f15fe0f051090ba45efe591ebae\n"
    },
    {
      "commit": "8149f6eb6c0280078dc41d72027d1241e875ea02",
      "tree": "edaf414a9ea4cf098e1d91c0d941f7f5b9f2dbd8",
      "parents": [
        "73f79ceae991d4e8b8d28c464fcf11a296877a68"
      ],
      "author": {
        "name": "Benedict Wong",
        "email": "benedictwong@google.com",
        "time": "Thu Jan 18 18:31:45 2018 -0800"
      },
      "committer": {
        "name": "Benedict Wong",
        "email": "benedictwong@google.com",
        "time": "Wed Jan 24 07:24:27 2018 +0000"
      },
      "message": "Add TunnelInterface API and KernelResourceRecords\n\nThis change adds one KernelResourceRecord type (TunnelInterfaceRecord),\nand adds methods for the creation of TunnelInterfaces, as well as the\napplication of Transforms to the given TunnelInterfaces\n\nAs part of the generation of ikeys/okeys, a ReserveKeyTracker manages a\njava bitset to avoid collisions and reserve/release keys.\n\nBug: 63588681\nTest: Compiles, CTS, unit tests all pass on AOSP_marlin\nChange-Id: I9e9b6455e27073acd4491eae666aa966b3b10e0f\n"
    },
    {
      "commit": "73f79ceae991d4e8b8d28c464fcf11a296877a68",
      "tree": "9c85e407faf22cc6bbe39282bae98c53e84e7167",
      "parents": [
        "8fd5b7e1c3efc51b10911be3a1f1cc98e8402556",
        "0b611f496e9dd6be62419d8cd7f2d164efefad1c"
      ],
      "author": {
        "name": "Benedict Wong",
        "email": "benedictwong@google.com",
        "time": "Wed Jan 24 05:53:29 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 24 05:53:29 2018 +0000"
      },
      "message": "Merge \"Add xfrm mark in IpSecConfig\""
    },
    {
      "commit": "6568170b32100986a65a042facd78b3dcaf1c5e7",
      "tree": "ea9394e8b6a1dd79aa0e5f29fd4678a43f60c11e",
      "parents": [
        "6e032246975e08c4264bd711a0ced6e1bbf74c47",
        "dda156ab0c5d66ad82bdcf76cda07cbc0a9c8a2e"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Wed Jan 24 04:09:44 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 24 04:09:44 2018 +0000"
      },
      "message": "Merge changes I3b16caad,Iaf5ea7ab,I09a94042,I69a39039,I35300309, ...\n\n* changes:\n  Let network requests see VPNs.\n  Move constants into a new file.\n  Make sure listen requests from VPN apps see their own networks\n  Add a test for new UID checking code.\n  Remove UID_RANGES_ADDED and REMOVED.\n  Move VPN allowed UIDs into NetworkCapabilities.\n  Pre-import to remove a conflict.\n"
    },
    {
      "commit": "6e032246975e08c4264bd711a0ced6e1bbf74c47",
      "tree": "949a8be17087ca6c3206d6bda88f97c14b4be948",
      "parents": [
        "a85291bfcfc0e4028328b492b0c8917853f27cb0",
        "93afbf258f554e980b58c3c67d55ebbb3e4eb915"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 24 04:08:29 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 24 04:08:29 2018 +0000"
      },
      "message": "Merge changes from topic \"bpfStats\"\n\n* changes:\n  Use /proc/net/dev to get stats summary\n  Add bpf support for NetworkStatsFactory\n  Add BPF support for NetworkStatsService\n"
    },
    {
      "commit": "45a9b5dbbc071d777b8d22c085ba33298afcac49",
      "tree": "9b6de47376bb98c6f8d55cfdde3e1d6fe1d12077",
      "parents": [
        "c3a209382cc05d532a4872670730023526e2c537"
      ],
      "author": {
        "name": "Jeremy Klein",
        "email": "jlklein@google.com",
        "time": "Wed Jan 10 18:01:46 2018 -0800"
      },
      "committer": {
        "name": "Jeremy Klein",
        "email": "jlklein@google.com",
        "time": "Tue Jan 23 16:17:22 2018 -0800"
      },
      "message": "Add scan interval and window lengths to Settings.Global.\n\nThis will enable running experiments to determine the\neffects on battery life of changing these values.\n\nBug: 71765044\nTest: Just adding a key value here. This is basically a no-op.\nChange-Id: I33a0b2da6e793ef508d020a3c2d321d5553c3fb1\n"
    },
    {
      "commit": "e0d448f31eb9f7e63d13ef45b04853d95c00670a",
      "tree": "ec1fd6b73015a1f91f17b45d81b140b25668b027",
      "parents": [
        "fb24180fe09de48259c8c093065516af6a6c7d52"
      ],
      "author": {
        "name": "Benedict Wong",
        "email": "benedictwong@google.com",
        "time": "Tue Jan 23 11:01:28 2018 -0800"
      },
      "committer": {
        "name": "Benedict Wong",
        "email": "benedictwong@google.com",
        "time": "Tue Jan 23 23:25:54 2018 +0000"
      },
      "message": "Expose applyTunnelModeTransform as a system API\n\nSimple change to expose systemAPI for applyTunnelModeTransform\n\nBug: 36033193\nTest: All CTS, unit tests passing\nChange-Id: I2d857c048bc0dc80c3949387f946b1f5adf0527e\n"
    },
    {
      "commit": "572f65fb5821a9e7459a5d90344f05f5cf3f4227",
      "tree": "312560ba6d96405cb2b3fe13323d2b003022e556",
      "parents": [
        "0a1dd194aaa0369bb87731df708e86229a7d8e40",
        "bceb382572317df111d94f31edab70d4064ce033"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jan 23 18:14:00 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jan 23 18:14:00 2018 +0000"
      },
      "message": "Merge \"Use the correct value for Process.WEBVIEW_ZYGOTE_UID.\""
    },
    {
      "commit": "cdc0a084d18baded7067a3af8723026e8a00bc1b",
      "tree": "4cba091feb340d931d84d4ef084c33bb160196ee",
      "parents": [
        "df984fae2656104d84fec8fa876f2236d290da39",
        "c0a2e5f05d97fe527de4694fa3fe5ea43eca939d"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jan 23 18:00:00 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jan 23 18:00:00 2018 +0000"
      },
      "message": "Merge \"Added new slot status related broadcast.\""
    },
    {
      "commit": "dda156ab0c5d66ad82bdcf76cda07cbc0a9c8a2e",
      "tree": "337139f4421aaf2427905a0d6189463a87c1dde4",
      "parents": [
        "918a68b3ca3d375335691230cc8fd7c974403717"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Wed Jan 10 21:19:32 2018 +0900"
      },
      "committer": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Tue Jan 23 21:38:00 2018 +0900"
      },
      "message": "Let network requests see VPNs.\n\nTest: runtest frameworks-net\nTest: also tested with VPN app\nTest: also cts passing\nChange-Id: I3b16caad7787c3c1f2921ca1583815c89efbadc5\n"
    },
    {
      "commit": "f474fc3ac1bf45e658431c665418ae508458e1d9",
      "tree": "b05b692709fe02c286274882c519e561bc92d1ae",
      "parents": [
        "0b214afb58263f79209d9b633bbfd324525d951e"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Wed Jan 17 15:10:05 2018 +0900"
      },
      "committer": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Tue Jan 23 21:38:00 2018 +0900"
      },
      "message": "Make sure listen requests from VPN apps see their own networks\n\nTest: runtest frameworks-net\nTest: CTS pass, including with the next patch which is what this\n      actually matters for\n\nChange-Id: I09a94042acbefa24ab884f95326e30d6ab280b82\n"
    },
    {
      "commit": "f213ca1345211b6e550e638230bd66e628acb6be",
      "tree": "1485e18c51f3c76f974b4b199dd60d4b9b1bbbbc",
      "parents": [
        "ecacd5e00bccb7896d0f7cf81115a503584bce43"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Tue Jan 16 18:43:05 2018 +0900"
      },
      "committer": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Tue Jan 23 21:38:00 2018 +0900"
      },
      "message": "Remove UID_RANGES_ADDED and REMOVED.\n\nTest: runtest frameworks-net\nTest: also tested with VPN app\nTest: also cts passing\nChange-Id: I3530030996daeba05a8f2fffc5c6e21ed62e3f40\n"
    },
    {
      "commit": "ecacd5e00bccb7896d0f7cf81115a503584bce43",
      "tree": "95726cfaf2165e8db615e5954bd9dbd6cb26d9db",
      "parents": [
        "ce1a9d8fd74ef102898a2723cd167697e271f710"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Wed Dec 27 14:23:31 2017 +0900"
      },
      "committer": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Tue Jan 23 21:38:00 2018 +0900"
      },
      "message": "Move VPN allowed UIDs into NetworkCapabilities.\n\nTest: runtest frameworks-net\nTest: also new specific tests for this new code\nTest: also tested with VPN app\nTest: also cts passing\nChange-Id: If0311bae2bf99dedac959febadecf4f92f3064b8\n"
    },
    {
      "commit": "ce1a9d8fd74ef102898a2723cd167697e271f710",
      "tree": "db4876f550bb73aecca16ad7c54c2d23d380f0a5",
      "parents": [
        "bf996dd479d933b1e6be8fae50d1517229047674"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Tue Jan 23 21:25:37 2018 +0900"
      },
      "committer": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Tue Jan 23 21:38:00 2018 +0900"
      },
      "message": "Pre-import to remove a conflict.\n\nTest: compiles and passes checkstyle\nChange-Id: I1ffdd88e6268fee0cf88992420ab21eb42928957\n"
    },
    {
      "commit": "d15c937f972b08e62516f361cf6bbe95b64132ce",
      "tree": "196e5130866bccbebf1131ccd6b7fbafca6dec15",
      "parents": [
        "0f9bce6883f2bbf1de1620d4014f037063d6d7b1"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Mon Jan 22 21:00:49 2018 +0900"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Tue Jan 23 18:38:48 2018 +0900"
      },
      "message": "Support passing a template to NetworkStatsManager queries.\n\nCurrently, NetworkStatsManager queries and callbacks only allow\nselecting network traffic based on network identifiers:\nnetworkType, subscriptionId and networkId.  The code ends up\nconverting these into a template under the hood.\n\nNow that templates can express more fine-grained queries (e.g.,\nselect only roaming traffic, or select only traffic that\u0027s not\non the default network) add a hidden method to pass in a\ntemplate. This should have no security implications, as all the\naccess controls are performed in NetworkStatsService.\n\nBug: 35142602\nTest: android.app.usage.cts.NetworkUsageStatsTest passes\nChange-Id: Iab4afa26b34544299d2a9c501c1b0feb470e90a9\nMerged-In: Iab4afa26b34544299d2a9c501c1b0feb470e90a9\n"
    },
    {
      "commit": "0f9bce6883f2bbf1de1620d4014f037063d6d7b1",
      "tree": "8933d382ff7233a78142d08cc4de78679898adaf",
      "parents": [
        "f7fab104f92be481ec1723b08eef6b25e17af11e"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Mon Jan 22 11:54:46 2018 +0900"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Tue Jan 23 18:38:48 2018 +0900"
      },
      "message": "Add metered, roaming, and defaultNetwork info to NetworkTemplate.\n\nThis will allow data usage clients to query for and receive\ncallbacks on data usage matching these conditions.\n\nBug: 35142602\nTest: atest FrameworksNetTests\nChange-Id: I4d985a2734eeab7ee454c09cc2098b6b3c671c23\nMerged-In: I4d985a2734eeab7ee454c09cc2098b6b3c671c23\n"
    },
    {
      "commit": "9781f785bc4d791047649d89b5fd386e722117c0",
      "tree": "5d9e47da6817121bcd7a5e5af770821be0c61801",
      "parents": [
        "d5876bc438c26ae13ebcef295ed3eba18f14c74a"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Sat Jan 20 02:02:56 2018 +0900"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Tue Jan 23 18:38:48 2018 +0900"
      },
      "message": "Add the defaultNetwork element to the netstats.proto.\n\nThis is in its own commit because AOSP has diverged from internal\nmaster.\n\nBug: 35142602\nTest: builds, boots\nChange-Id: I75fc85b961bc919e3d6c2adce6d6861c6f2c8379\nMerged-In: I75fc85b961bc919e3d6c2adce6d6861c6f2c8379\n"
    },
    {
      "commit": "d5876bc438c26ae13ebcef295ed3eba18f14c74a",
      "tree": "753b32ac98ebb9a643d06345d3d95b107ec82b63",
      "parents": [
        "bf996dd479d933b1e6be8fae50d1517229047674"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Fri Jan 19 01:12:58 2018 +0900"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Tue Jan 23 18:28:07 2018 +0900"
      },
      "message": "Add getDefaultNetwork to the NetworkStats public API.\n\nThis allows an app using the public API to know whether the\ntraffic in a particular bucket was on the default network\n(i.e., the network was selected by the system), or not (i.e.,\nthe network was selected by the app).\n\nBug: 35142602\nTest: builds, boots\nTest: added coverage to NetworkUsageStatsTest CTS test, still passes\nChange-Id: I9f6669908fa119743b9c0aa0c31a03e5ebafa7db\nMerged-In: I9f6669908fa119743b9c0aa0c31a03e5ebafa7db\n"
    },
    {
      "commit": "93afbf258f554e980b58c3c67d55ebbb3e4eb915",
      "tree": "4cd78252d3a7d85ddee6e706badb6cbf2cf0c2ec",
      "parents": [
        "828f1b45fb302f68b5eb8934bf474177fa249c7c"
      ],
      "author": {
        "name": "Chenbo Feng",
        "email": "fengc@google.com",
        "time": "Thu Jan 18 19:48:52 2018 -0800"
      },
      "committer": {
        "name": "Chenbo Feng",
        "email": "fengc@google.com",
        "time": "Tue Jan 23 00:35:02 2018 -0800"
      },
      "message": "Use /proc/net/dev to get stats summary\n\nIf the qtaguid proc file is no longer exist, the device is running new\neBPF module to do traffic accounting. So the NetworkStatsFactory need to\nuse the proc/net/dev interface to get the per interface traffic stats\nsummary. Also, adding a test to verify the helper function work properly\n\nBug: 30950746\nTest: run NetworkStatsFactoryTest\nChange-Id: Ia36808bf02f1637dd41a3e7c50917b91b1a77524\n"
    },
    {
      "commit": "828f1b45fb302f68b5eb8934bf474177fa249c7c",
      "tree": "2a9daf59be1015dbb918617e0663a439c708cecc",
      "parents": [
        "aedd6a3bdcb0b63c0bd6c6f01b720cddfedd51b8"
      ],
      "author": {
        "name": "Chenbo Feng",
        "email": "fengc@google.com",
        "time": "Mon Nov 20 17:03:59 2017 -0800"
      },
      "committer": {
        "name": "Chenbo Feng",
        "email": "fengc@google.com",
        "time": "Tue Jan 23 00:34:53 2018 -0800"
      },
      "message": "Add bpf support for NetworkStatsFactory\n\nAdd the native method used to read the detail information of network\nstats from bpf maps. The native method of NetworkStatsFactory should\nchoose the correct implementation to get the stats detail depending on\nthe kernel version. Currently the bpf result is printed as a reference\nand the actual behavior of NetworkStatsFactory should not change.\n\nTest: NetworkStatsFactory related cts test should not fail.\nBug: 30950746\nChange-Id: I4715a23559b5b2306bd556cea0431f0ed172a993\n"
    },
    {
      "commit": "c0a2e5f05d97fe527de4694fa3fe5ea43eca939d",
      "tree": "31f5560487ebe865aea846b034ae0c99b069f677",
      "parents": [
        "7e3b1832c461b751e5170434bbb5545a8d6b6e58"
      ],
      "author": {
        "name": "Amit Mahajan",
        "email": "amitmahajan@google.com",
        "time": "Thu Jan 18 17:51:53 2018 -0800"
      },
      "committer": {
        "name": "Amit Mahajan",
        "email": "amitmahajan@google.com",
        "time": "Mon Jan 22 18:31:01 2018 -0800"
      },
      "message": "Added new slot status related broadcast.\n\nTest: none\nBug: 64131518\nMerged-in: I0a5825a1d121dc22f042fd71598f58e064e9e2a2\nChange-Id: I0a5825a1d121dc22f042fd71598f58e064e9e2a2\n"
    },
    {
      "commit": "174df238ac2ce4e952c88d0aa83505aa123629e5",
      "tree": "5b12bfd955fdc3160147e0e62f85c38f3ba0f3e5",
      "parents": [
        "1683b6968d40f4fdccdd62b5b98c103024db1f5e",
        "0c961165c25082936a8852f5ec97a1a820936fc2"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jan 23 00:52:00 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jan 23 00:52:00 2018 +0000"
      },
      "message": "Merge \"Camera: remove NOT_PRESENT cameras\""
    },
    {
      "commit": "1683b6968d40f4fdccdd62b5b98c103024db1f5e",
      "tree": "70bacc5c62833e0167300d5c7db88eb3e0b1cd59",
      "parents": [
        "b60e42becd517fe88640a9c9682f9e1fa5039e2a",
        "1e507e6178fcc45f184d9164061d2ecfd695a055"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Tue Jan 23 00:15:15 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jan 23 00:15:15 2018 +0000"
      },
      "message": "Merge \"Remove obsolete NetworkStats.Entry constructor.\""
    },
    {
      "commit": "940c0341f00872e5e19ea28cc8389b9bfd1c3abc",
      "tree": "3186fcab906aba8d44874ad8356bcef339331941",
      "parents": [
        "7ee26e72cf3cecf782ad822a6795a6e018ac2dba",
        "571b700fb6bdb90eed59d16705ef4ae2fb69a9d3"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jan 22 18:22:07 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jan 22 18:22:07 2018 +0000"
      },
      "message": "Merge \"Debug: Add attachJvmtiAgent with classloader\""
    },
    {
      "commit": "7ee26e72cf3cecf782ad822a6795a6e018ac2dba",
      "tree": "d2296f80408efc90a69b2653320c3e61c91794c8",
      "parents": [
        "7e3b1832c461b751e5170434bbb5545a8d6b6e58",
        "f33f03134442538a637627decaf57c859acbc824"
      ],
      "author": {
        "name": "Benedict Wong",
        "email": "benedictwong@google.com",
        "time": "Mon Jan 22 17:57:15 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jan 22 17:57:15 2018 +0000"
      },
      "message": "Merge \"Rename create/delete transform methods\""
    },
    {
      "commit": "bceb382572317df111d94f31edab70d4064ce033",
      "tree": "c87260dfd74623d445fa7e05db7c186e76342c41",
      "parents": [
        "7e3b1832c461b751e5170434bbb5545a8d6b6e58"
      ],
      "author": {
        "name": "Robert Sesek",
        "email": "rsesek@google.com",
        "time": "Mon Jan 22 12:26:39 2018 -0500"
      },
      "committer": {
        "name": "Robert Sesek",
        "email": "rsesek@google.com",
        "time": "Mon Jan 22 12:29:21 2018 -0500"
      },
      "message": "Use the correct value for Process.WEBVIEW_ZYGOTE_UID.\n\nWhen the libcutils constant was added there a merge conflict, which\ncaused the AID_WEBVIEW_ZYGOTE value to land with a different value than\nthe Java-side Process value. Nothing yet uses the Process constant, so\nthere were no ill effects.\n\nTest: m\nChange-Id: I8cc87bce1ddbdcdaf79d85c828d86837e96cce21\n"
    },
    {
      "commit": "1e507e6178fcc45f184d9164061d2ecfd695a055",
      "tree": "b6918a9794457ca321c78072cec923109179a4de",
      "parents": [
        "7e3b1832c461b751e5170434bbb5545a8d6b6e58"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Sun Jan 21 23:00:55 2018 +0900"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Sun Jan 21 23:01:35 2018 +0900"
      },
      "message": "Remove obsolete NetworkStats.Entry constructor.\n\nThe only caller is telephony code, and it\u0027s being fixed in this\ntopic.\n\nBug: 35142602\nTest: builds, boots\nChange-Id: Ia77a1c2c297037f311c2355610c206cd8e3192c4\n"
    },
    {
      "commit": "0c961165c25082936a8852f5ec97a1a820936fc2",
      "tree": "32769af4fd6bcf8223022f2e131004eaac6ca1f2",
      "parents": [
        "8fb3bdc36f7712511a5ab4a1c25a481e1d4982a8"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Jan 02 11:17:58 2018 -0800"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Sat Jan 20 00:55:45 2018 +0000"
      },
      "message": "Camera: remove NOT_PRESENT cameras\n\nSo hot plug cameras won\u0027t stay forever in\ndevice status map.\n\nChange-Id: I0290ff2eccb3d48a0f72c48f32a97909d20623ad\n"
    }
  ],
  "next": "8fb3bdc36f7712511a5ab4a1c25a481e1d4982a8"
}
