)]}'
{
  "log": [
    {
      "commit": "3a764c19d1fc7bbe72231c212dfbae1ef40f83f6",
      "tree": "2c36ff9219e96cf1fd52608e379ba8ddd2464269",
      "parents": [
        "769fa0c8811a1471c6d0dc795e40297b9cbe07cd"
      ],
      "author": {
        "name": "Etan Cohen",
        "email": "etancohen@google.com",
        "time": "Wed Mar 08 09:05:02 2017 -0800"
      },
      "committer": {
        "name": "Etan Cohen",
        "email": "etancohen@google.com",
        "time": "Wed Mar 08 09:11:21 2017 -0800"
      },
      "message": "[AWARE] Update network API: make open/encrypted explicit\n\nReplace the older (implicitly) open network with 3 network\ncreation APIs:\n- Open\n- Passphrase-based\n- PMK (SystemApi only)\n\nBug: 26564544\nBug: 35702875\nTest: unit tests and integration (sl4a) tests\nChange-Id: I29a1d668d245853755cd2dfaaa6c65fbb43989f7\n"
    },
    {
      "commit": "769fa0c8811a1471c6d0dc795e40297b9cbe07cd",
      "tree": "3010e1102e11f50eac694b65d80aa758ba2b0347",
      "parents": [
        "0a11c83016823529c465439f3e25f199dc5cd873",
        "62a2f9f6ab3e00e2fc1885a01dd3b5a153fc3ae7"
      ],
      "author": {
        "name": "Etan Cohen",
        "email": "etancohen@google.com",
        "time": "Wed Mar 08 14:55:04 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 08 14:55:05 2017 +0000"
      },
      "message": "Merge \"[AWARE] Add data-path security configuration (Passphrase)\""
    },
    {
      "commit": "0a11c83016823529c465439f3e25f199dc5cd873",
      "tree": "c5cd21cb4ed49aea101985537cbfd1a46d282ecd",
      "parents": [
        "79eb213a982ad8ad93be42a36f06ed0db85da6ab",
        "9df5d4f715f2ba5670753b78a236ff98eff34cfb"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Wed Mar 08 14:36:16 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 08 14:36:18 2017 +0000"
      },
      "message": "Merge \"Replace usages of littlemock with mockito\""
    },
    {
      "commit": "62a2f9f6ab3e00e2fc1885a01dd3b5a153fc3ae7",
      "tree": "8fecf102b44c25282683d4dc55a224ec980f3dd0",
      "parents": [
        "6bb5110f2c9200533f21f6242457053883e786c9"
      ],
      "author": {
        "name": "Etan Cohen",
        "email": "etancohen@google.com",
        "time": "Tue Feb 21 10:08:42 2017 -0800"
      },
      "committer": {
        "name": "Etan Cohen",
        "email": "etancohen@google.com",
        "time": "Tue Mar 07 19:07:14 2017 -0800"
      },
      "message": "[AWARE] Add data-path security configuration (Passphrase)\n\nAdd API to optionally provide a passphrase to\nconfigure security on a data-path.\n\nBug: 33552694\nTest: unit tests and integration (sl4a) tests\nChange-Id: Ie011345348a3918a412957e38610cabe147c35fa\n"
    },
    {
      "commit": "79eb213a982ad8ad93be42a36f06ed0db85da6ab",
      "tree": "4e4aaa913a2867c2e6f75f7e456d5e083f809c3b",
      "parents": [
        "6bb5110f2c9200533f21f6242457053883e786c9",
        "ef3e0dbf003b881ded3dd8993f136fffc2d3b069"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 08 00:28:30 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 08 00:28:31 2017 +0000"
      },
      "message": "Merge \"Bluetooth: Expose L2CAP API to support OPP 1.2\""
    },
    {
      "commit": "6bb5110f2c9200533f21f6242457053883e786c9",
      "tree": "621ca7f7f2a5de143b5d6d0a35357402cce55da8",
      "parents": [
        "eef66fd0c74a9274fa5fd9da7a4008b804b59ea4",
        "b64ac4c57a863463df98d42feabe09f3cfe942db"
      ],
      "author": {
        "name": "Hall Liu",
        "email": "hallliu@google.com",
        "time": "Tue Mar 07 21:44:42 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 07 21:44:43 2017 +0000"
      },
      "message": "Merge \"Add further Connection-side APIs for RTT (part 2)\""
    },
    {
      "commit": "eef66fd0c74a9274fa5fd9da7a4008b804b59ea4",
      "tree": "2363631802a76518570c29915ca522b51fb9a86e",
      "parents": [
        "d0f092af8494a0921317219b9b001ec8aa6d741c",
        "4c06f55f14538d8b065d97d7f3fd2b79976fb94b"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Mar 07 21:13:14 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 07 21:13:15 2017 +0000"
      },
      "message": "Merge \"PackageManager: Clean up code related to foreign dex use\""
    },
    {
      "commit": "4c06f55f14538d8b065d97d7f3fd2b79976fb94b",
      "tree": "771f3aec48816649c1ae6d46fe6f9a79e30bd735",
      "parents": [
        "ba0992f4c46474d51e7b768111f6af31525d9f42"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri Mar 03 17:04:55 2017 -0800"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Mar 07 11:39:24 2017 -0800"
      },
      "message": "PackageManager: Clean up code related to foreign dex use\n\nWe simplified the way we track whether or not a dex file is used by\nother apps. DexManager in the framework keeps track of the data and we\nno longer need file markers on disk.\n\nTest: device boots, foreign dex markers are not created anymore\n\nBug: 32871170\n\n(cherry picked from commit 74f0a3450cd598f52b2c68c43531b1a27fb4e1ce)\n\nChange-Id: I2a9daca15e5120518852584fa17aa94012af8f1a\nMerged-In: I3660e2f3913a73904181449c2d910af0a0477950\n"
    },
    {
      "commit": "d0f092af8494a0921317219b9b001ec8aa6d741c",
      "tree": "d334a01de79a031fd94e377dc5815b5b9bd0ea95",
      "parents": [
        "8328f27a87577581be640f80918fe4c6251ac881",
        "7f8466fab49f684ec3f430d15ae765d3886052c5"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 07 16:50:58 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 07 16:50:59 2017 +0000"
      },
      "message": "Merge \"Framework: Ensure image heap string literals for Patterns\""
    },
    {
      "commit": "8328f27a87577581be640f80918fe4c6251ac881",
      "tree": "dcd44ef9be3e912987b05e45cd2a0e31ca2a8d42",
      "parents": [
        "aa4877e2953ead5f72947567c810c4031c808e2b",
        "aebf17e7f1bc6ca6da9ed5d6c129264590ea2f9e"
      ],
      "author": {
        "name": "Etan Cohen",
        "email": "etancohen@google.com",
        "time": "Tue Mar 07 16:40:26 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 07 16:40:27 2017 +0000"
      },
      "message": "Merge \"[CM] Allow timeout in request network\""
    },
    {
      "commit": "aa4877e2953ead5f72947567c810c4031c808e2b",
      "tree": "92f4a9a2548479958a89d1f5388294868590f569",
      "parents": [
        "75dfc5bd910ab5904b0364eacce5ece83ea2c828",
        "a6a2f5a1749c501eb645c70d25dd71fc24189e12"
      ],
      "author": {
        "name": "Tobias Thierer",
        "email": "tobiast@google.com",
        "time": "Tue Mar 07 16:35:17 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 07 16:35:17 2017 +0000"
      },
      "message": "Merge \"Track: ICU TimeZone: publish TIMEZONE_* constants\""
    },
    {
      "commit": "9df5d4f715f2ba5670753b78a236ff98eff34cfb",
      "tree": "c96272fef635d0a84b88ee331bd6af0b04fc3b5d",
      "parents": [
        "75dfc5bd910ab5904b0364eacce5ece83ea2c828"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Mon Mar 06 14:56:06 2017 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Mar 07 13:55:52 2017 +0000"
      },
      "message": "Replace usages of littlemock with mockito\n\nLittlemock appears to have been created as an alternative to\nMockito that would work on Android. Given that Mockito does\nnow work on Android and Littlemock has had no activity since\nAug 2012 it seems prudent to switch over to use Mockito instead.\n\nhttps://code.google.com/archive/p/littlemock/\n\nThis is being done as part of the work to upgrade Mockito.\n\nBug: 32912773\nTest: Build and install affected APKs, test using am instrument\nChange-Id: Id0e57880ea66c5681b664bbfb534c96410544665\n"
    },
    {
      "commit": "75dfc5bd910ab5904b0364eacce5ece83ea2c828",
      "tree": "bc9312faac3b960998e1f797c4e35671ce00d7f2",
      "parents": [
        "ae758b2c7f7fc5e417757d60da1fbe7f38d1316c",
        "465c46d555c867caf40333db197ef97cff75a754"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 07 13:27:09 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 07 13:27:11 2017 +0000"
      },
      "message": "Merge \"request{LinkProperties,NetworkCapabilities} no longer needed\""
    },
    {
      "commit": "465c46d555c867caf40333db197ef97cff75a754",
      "tree": "bc9312faac3b960998e1f797c4e35671ce00d7f2",
      "parents": [
        "ae758b2c7f7fc5e417757d60da1fbe7f38d1316c"
      ],
      "author": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Tue Mar 07 15:25:32 2017 +0900"
      },
      "committer": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Tue Mar 07 17:18:06 2017 +0900"
      },
      "message": "request{LinkProperties,NetworkCapabilities} no longer needed\n\nTest: as follows\n    - built (bullhead)\n    - flashed\n    - booted\n    - runtest frameworks-net passes\n    - manual USB tethering toggling between WiFi and mobile\nBug: 32163131\nChange-Id: I57edf5114b6361f320577c7870e40f8b3cdf74ce\n"
    },
    {
      "commit": "ae758b2c7f7fc5e417757d60da1fbe7f38d1316c",
      "tree": "da4666857061897d44ba11067ed7951e5b9d1bc1",
      "parents": [
        "affbb8b6a9de8fb0839e04786827fad3dc17101f",
        "34baa3da4e1f422cc1d7684dcd92bcb8381a7140"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 07 06:24:16 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 07 06:24:17 2017 +0000"
      },
      "message": "Merge \"Handle null NetworkState updates\""
    },
    {
      "commit": "affbb8b6a9de8fb0839e04786827fad3dc17101f",
      "tree": "d726fb0df9d7836b5a67f8d6c4e51b97f9110ffe",
      "parents": [
        "9324d6513bdc333cc2a05a8f33ba120a322fd566",
        "c75d4fad229899e88f6512636eee9141be4b0951"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 07 05:51:40 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 07 05:51:41 2017 +0000"
      },
      "message": "Merge \"Always send all available state when calling onAvailable().\""
    },
    {
      "commit": "34baa3da4e1f422cc1d7684dcd92bcb8381a7140",
      "tree": "51fd21f5d5b7c1d0c92402ea0beb6419dea3c0a5",
      "parents": [
        "9324d6513bdc333cc2a05a8f33ba120a322fd566"
      ],
      "author": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Tue Mar 07 13:17:39 2017 +0900"
      },
      "committer": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Tue Mar 07 13:17:53 2017 +0900"
      },
      "message": "Handle null NetworkState updates\n\nTest: as follows\n    - built (bullhead)\n    - flashed\n    - booted\n    - runtest frameworks-net passes\n    - manual USB tethering to WiFi and mobile switching works\nBug: 32163131\nChange-Id: I2d4ef7c135ae6eb50cc31236f2fd20080536ea6a\n"
    },
    {
      "commit": "c75d4fad229899e88f6512636eee9141be4b0951",
      "tree": "d726fb0df9d7836b5a67f8d6c4e51b97f9110ffe",
      "parents": [
        "9324d6513bdc333cc2a05a8f33ba120a322fd566"
      ],
      "author": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Wed Feb 15 19:59:17 2017 +0900"
      },
      "committer": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Tue Mar 07 12:57:26 2017 +0900"
      },
      "message": "Always send all available state when calling onAvailable().\n\nThe state that needs to be transferred includes:\n    - NetworkCapabilities\n    - LinkProperties\n    - whether the network is currently suspended\n\nAdditionally:\n    - Rename notifyNetworkCallback() to notifyNetworkAvailable()\n      in order to clarify its real function.\n    - fix previous copy/paste error in unittest\n\nTest: as follows\n    - built (bullhead)\n    - flashed\n    - booted\n    - runtest frameworks-net passes\n    - USB tethering with mobile and Wi-Fi upstream toggling\nBug: 32163131\nChange-Id: Ib4460bcd5d08863a9feac9e8ab41a238897bb3ea\n"
    },
    {
      "commit": "ef3e0dbf003b881ded3dd8993f136fffc2d3b069",
      "tree": "5d3c0106512cad89c8d31196733700139fbefb8d",
      "parents": [
        "9324d6513bdc333cc2a05a8f33ba120a322fd566"
      ],
      "author": {
        "name": "Hemant Gupta",
        "email": "hemantg@codeaurora.org",
        "time": "Fri Feb 03 16:38:59 2017 +0530"
      },
      "committer": {
        "name": "Ajay Panicker",
        "email": "apanicke@google.com",
        "time": "Tue Mar 07 02:30:52 2017 +0000"
      },
      "message": "Bluetooth: Expose L2CAP API to support OPP 1.2\n\nAdd changes to expose L2CAP API to create an insecure L2CAP socket\nfor supporting OPP 1.2.\n\nTest: Connect with Remote OPP Client supporting OPP 1.2 and verify\nthat connection and transfer happens over L2CAP. Connect with Remote\nOPP Client supporting OPP 1.1 and verify that connection and transfer\nhappens over RFCOMM.\n\nBug: 33010988\nChange-Id: I21ed672afb4ed5d2355ff0a0f9691af220921c1f\n"
    },
    {
      "commit": "9324d6513bdc333cc2a05a8f33ba120a322fd566",
      "tree": "9a6a05f7bba15308f5ad75416003456e66fb61a0",
      "parents": [
        "7b0d16249ca25b3bfcd3d3e47f7108282aa5c699",
        "159f35c8e4a2d5902cbbeb8d3b9a80bddf247de3"
      ],
      "author": {
        "name": "Tyler Gunn",
        "email": "tgunn@google.com",
        "time": "Tue Mar 07 01:55:58 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 07 01:55:59 2017 +0000"
      },
      "message": "Merge \"API review cleanups/changes.\""
    },
    {
      "commit": "7b0d16249ca25b3bfcd3d3e47f7108282aa5c699",
      "tree": "582457d3ccab9895f5994e343008417e95d9ca25",
      "parents": [
        "121006f42895a6fdd9e7d742aefdf6c2a154c6d8",
        "2b527ac29323aa95c281c03335506f2a3d1beba4"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 07 01:27:17 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 07 01:27:18 2017 +0000"
      },
      "message": "Merge \"nfc: First chunked NDEF record of TNF doesn\u0027t contain the type field\""
    },
    {
      "commit": "121006f42895a6fdd9e7d742aefdf6c2a154c6d8",
      "tree": "69c62e9341af3cbf34c2497a798f1983b5a42c9d",
      "parents": [
        "ba0992f4c46474d51e7b768111f6af31525d9f42",
        "e0cce21f4d92d89870ebf18e82f0fb9ba7a1f10d"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 07 01:00:55 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 07 01:00:57 2017 +0000"
      },
      "message": "Merge \"Start of tethering OffloadController\""
    },
    {
      "commit": "b64ac4c57a863463df98d42feabe09f3cfe942db",
      "tree": "146eb45d6d31720a2a061425085254427e101f4d",
      "parents": [
        "7f0300f1e20fc3c4c6c063eebcd0d4d1b407578c"
      ],
      "author": {
        "name": "Hall Liu",
        "email": "hallliu@google.com",
        "time": "Mon Feb 06 10:49:48 2017 -0800"
      },
      "committer": {
        "name": "Hall Liu",
        "email": "hallliu@google.com",
        "time": "Mon Mar 06 16:48:24 2017 -0800"
      },
      "message": "Add further Connection-side APIs for RTT (part 2)\n\nAdd methods and callbacks to facilitate local and remote RTT initiation\nand termination in the middle of a call. Adds @hide Connection-side APIs\nto communicate with the ConnectionService, as well as plumbing for\nRemoteConnections.\n\nTest: manual, through telecom testapps\nMerged-In: Ia80604b7dff8586ff222dbccdbe55e91aab02178\nChange-Id: Ia80604b7dff8586ff222dbccdbe55e91aab02178\n"
    },
    {
      "commit": "ba0992f4c46474d51e7b768111f6af31525d9f42",
      "tree": "d655e07b6fc187544d30fe1386cdb2e476181d2d",
      "parents": [
        "97c9b57cece7f9ba6dbf5d8c305ef404e25191fd",
        "c2b062263402c7ada36fe84ee1ed9b5bb1bbefbd"
      ],
      "author": {
        "name": "Andre Eisenbach",
        "email": "eisenbach@google.com",
        "time": "Mon Mar 06 21:25:40 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 06 21:25:40 2017 +0000"
      },
      "message": "Merge \"BluetoothManagerService: continue teardown when BLE apps registered\""
    },
    {
      "commit": "c2b062263402c7ada36fe84ee1ed9b5bb1bbefbd",
      "tree": "d655e07b6fc187544d30fe1386cdb2e476181d2d",
      "parents": [
        "97c9b57cece7f9ba6dbf5d8c305ef404e25191fd"
      ],
      "author": {
        "name": "Martin Brabham",
        "email": "optedoblivion@google.com",
        "time": "Mon Feb 27 16:55:07 2017 -0800"
      },
      "committer": {
        "name": "Andre Eisenbach",
        "email": "eisenbach@google.com",
        "time": "Mon Mar 06 21:25:33 2017 +0000"
      },
      "message": "BluetoothManagerService: continue teardown when BLE apps registered\n\n    When the adapter is toggled off; when there are BLE apps registered, a\nrequest is sent to unregister all of the BLE apps.  Upon unregister each app\nwill call through to this function via a callback.  When this gets called if\nthe ble app count is 0, we can disable everything.  I am keeping track of the\nflag so that we know explicitly where we are coming from.\n\nBug: 34707848\nTest: Compile\nChange-Id: I9a8322a6fa918e7b410770894c257ec9f7d8d1f5\n"
    },
    {
      "commit": "97c9b57cece7f9ba6dbf5d8c305ef404e25191fd",
      "tree": "27be80bcbbb7c68f279861540452e50778347ce6",
      "parents": [
        "3a3cd0a27f98a360fad69030eedacd0d863586b4",
        "45438c940202fb2fccef40410aaf3e227ee38c63"
      ],
      "author": {
        "name": "Yang Ni",
        "email": "yangni@google.com",
        "time": "Mon Mar 06 21:25:29 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 06 21:25:29 2017 +0000"
      },
      "message": "Merge \"Removed close guards for Element and Type objects\""
    },
    {
      "commit": "2b527ac29323aa95c281c03335506f2a3d1beba4",
      "tree": "73ba5789adedb3b8840b635e24c8b5bc083a6b8d",
      "parents": [
        "3a3cd0a27f98a360fad69030eedacd0d863586b4"
      ],
      "author": {
        "name": "Ruchi Kandoi",
        "email": "kandoiruchi@google.com",
        "time": "Fri Feb 03 14:01:09 2017 -0800"
      },
      "committer": {
        "name": "Ruchi Kandoi",
        "email": "kandoiruchi@google.com",
        "time": "Mon Mar 06 13:10:20 2017 -0800"
      },
      "message": "nfc: First chunked NDEF record of TNF doesn\u0027t contain the type field\n\nTest: CTS test passes\nBug: 34943312\nChange-Id: I08f37ee76810f642b35ae8bde05ef0e2eff921e0\nSigned-off-by: Ruchi Kandoi \u003ckandoiruchi@google.com\u003e\n"
    },
    {
      "commit": "3a3cd0a27f98a360fad69030eedacd0d863586b4",
      "tree": "fd6386cc0a639d0bdd7f55ca3e5d911d7303287a",
      "parents": [
        "8871623b8d8f9f648b9aeb280af94391ab343c73",
        "298a146754e35cbc650aa991ebff1a41eefdbe80"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Mon Mar 06 19:25:58 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 06 19:25:59 2017 +0000"
      },
      "message": "Merge \"Check for spurious wake ups\""
    },
    {
      "commit": "159f35c8e4a2d5902cbbeb8d3b9a80bddf247de3",
      "tree": "731dd41713b9f160f0faabcf657158ea78e13e76",
      "parents": [
        "b8648ae07a5464b8495c47a2d42d093629af03b0"
      ],
      "author": {
        "name": "Tyler Gunn",
        "email": "tgunn@google.com",
        "time": "Thu Mar 02 09:28:37 2017 -0800"
      },
      "committer": {
        "name": "Tyler Gunn",
        "email": "tgunn@google.com",
        "time": "Mon Mar 06 11:04:55 2017 -0800"
      },
      "message": "API review cleanups/changes.\n\n- Change onCreateIncomingConnectionFailed/onCreateOutgoingConnectionFailed\nto accept the connection mgr phone account as the first parameter.\n- For the video APIs, pass the target SDK of the caller into along so\nthat the Telecom permission check can have fallback behavior for older API\nversions.\n- Add guidance for how UX should be shown in onShowIncomingCallUi API.\nAPI guidance follows how the Dialer app shows its notification and full\nscreen UX.\n\nTest: Manual, CTS.\nBug: 35767711\nBug: 35767096\nChange-Id: Ib343f0eda1a4d067a38c553f33f140b4efcf3e48\n"
    },
    {
      "commit": "8871623b8d8f9f648b9aeb280af94391ab343c73",
      "tree": "c8c3faa4cf82112f609e67bacd7c6dc6919e25c4",
      "parents": [
        "704520c39290252e2589674afe195affa5c53d94",
        "b208a1f0acdc87fc067e3156174963d3021e5545"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Mar 06 17:59:02 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 06 17:59:03 2017 +0000"
      },
      "message": "Merge \"Bluetooth: Use content observer for airplane mode\""
    },
    {
      "commit": "b208a1f0acdc87fc067e3156174963d3021e5545",
      "tree": "c8c3faa4cf82112f609e67bacd7c6dc6919e25c4",
      "parents": [
        "704520c39290252e2589674afe195affa5c53d94"
      ],
      "author": {
        "name": "Ajay Panicker",
        "email": "apanicke@google.com",
        "time": "Wed Feb 22 12:23:15 2017 -0800"
      },
      "committer": {
        "name": "Ajay Panicker",
        "email": "apanicke@google.com",
        "time": "Mon Mar 06 17:55:34 2017 +0000"
      },
      "message": "Bluetooth: Use content observer for airplane mode\n\nWe are making this switch as the airplane mode switch intent is going away.\n\nFix: 35256299\nTest: Toggle Airplane Mode\nChange-Id: I3b1e5bbdf689b0db98cfbb0ab377198d34f0ba05\n"
    },
    {
      "commit": "704520c39290252e2589674afe195affa5c53d94",
      "tree": "8f71ab37a63e3b6edc44a895132997d953a493ec",
      "parents": [
        "c337e32bb0a7ae53a11bf2178eec34062c1b1595",
        "649e32484e8f29850039565fb4b5be54ef02ed6f"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Mon Mar 06 12:20:40 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 06 12:20:45 2017 +0000"
      },
      "message": "Merge \"Revert \"ConnectivityManager: no double NetworkCallback registration\" because oit caused regressions http://b/35955593, http://b/35921499.\""
    },
    {
      "commit": "e0cce21f4d92d89870ebf18e82f0fb9ba7a1f10d",
      "tree": "560ee4cc991c33ff454d124777f23cc4f28a90ac",
      "parents": [
        "c337e32bb0a7ae53a11bf2178eec34062c1b1595"
      ],
      "author": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Mon Mar 06 14:05:23 2017 +0900"
      },
      "committer": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Mon Mar 06 19:34:38 2017 +0900"
      },
      "message": "Start of tethering OffloadController\n\nTest: as follows\n    - built (bullhead)\n    - flashed\n    - booted\n    - runtest frameworks-net passes\nBug: 32163131\nChange-Id: If8f7df069f37f1b3d440d446ab1b160a52ba9e09\n"
    },
    {
      "commit": "649e32484e8f29850039565fb4b5be54ef02ed6f",
      "tree": "fb92cfbb220fadbb17e49966d9c915e2c1e177e1",
      "parents": [
        "faa70976b490116323107166f90fdd944c5bdc77"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Mon Mar 06 06:16:51 2017 +0000"
      },
      "committer": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Mon Mar 06 06:16:51 2017 +0000"
      },
      "message": "Revert \"ConnectivityManager: no double NetworkCallback registration\" because oit caused regressions http://b/35955593, http://b/35921499.\n\nThis reverts commit faa70976b490116323107166f90fdd944c5bdc77.\n\nChange-Id: I86c07c113f24753be7c977e6d7f570b99391e1b5\n"
    },
    {
      "commit": "c337e32bb0a7ae53a11bf2178eec34062c1b1595",
      "tree": "a52b744281703447c21ee8f1f5be754eacb6d447",
      "parents": [
        "6ac19c0d23a106991e145e4530c7d08d68bfa2d3",
        "ffad2adfa5488f43a798a30a7fdb14426f495e59"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Mar 04 02:08:53 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Mar 04 02:08:54 2017 +0000"
      },
      "message": "Merge \"Make seccomp honor setenforce\""
    },
    {
      "commit": "ffad2adfa5488f43a798a30a7fdb14426f495e59",
      "tree": "a52b744281703447c21ee8f1f5be754eacb6d447",
      "parents": [
        "6ac19c0d23a106991e145e4530c7d08d68bfa2d3"
      ],
      "author": {
        "name": "Paul Lawrence",
        "email": "paullawrence@google.com",
        "time": "Fri Mar 03 13:04:35 2017 -0800"
      },
      "committer": {
        "name": "Paul Lawrence",
        "email": "paullawrence@google.com",
        "time": "Fri Mar 03 13:08:08 2017 -0800"
      },
      "message": "Make seccomp honor setenforce\n\nNote: This code is in frameworks, since we might want to have tools\nlinked against seccomp_policy that continue to enforce seccomp\n\nBug: 35950093\nTest: Builds, Seccomp: 2 is in zygote \u0026 zygote64 status\n      Run setenforce 0 \u0026\u0026 stop \u0026\u0026 start\n      Seccomp: 0 is in zygote \u0026 zygote64 status\n\nChange-Id: I797a6c29f58725f84089c570f784125fb99f57ce\n"
    },
    {
      "commit": "6ac19c0d23a106991e145e4530c7d08d68bfa2d3",
      "tree": "a9765f8ad09702b2bdb07dcc09277a0623e6e197",
      "parents": [
        "3e6c189c68bcac61216b8c2f0a0fc05d6ab15a53",
        "f7303ba18e1c6631da4e41a2b571e32f93f01844"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 03 19:02:27 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 03 19:02:28 2017 +0000"
      },
      "message": "Merge \"wifi: WifiConfiguration: update documentation for isHomeProviderNetwork\""
    },
    {
      "commit": "45438c940202fb2fccef40410aaf3e227ee38c63",
      "tree": "ee8a01bb36dc75567a9123513f99c5f2c3e4a62e",
      "parents": [
        "3e6c189c68bcac61216b8c2f0a0fc05d6ab15a53"
      ],
      "author": {
        "name": "Yang Ni",
        "email": "yangni@google.com",
        "time": "Fri Mar 03 10:00:07 2017 -0800"
      },
      "committer": {
        "name": "Yang Ni",
        "email": "yangni@google.com",
        "time": "Fri Mar 03 10:44:30 2017 -0800"
      },
      "message": "Removed close guards for Element and Type objects\n\nBug: 28053769\n\nThese objects are tiny and unlikely to cause memory issues.\n\nIn addition, llvm-rs-cc auto-generated code contains such objects, which are\nnot visibible to developers and impossible to manually destroy, leaving\ndistracting warnings in Strict Mode.\n\nTest: RsTest with StrictMode on and CTS tests\n\nChange-Id: Iec68cca4f1259124b9f503a230c1a28b97ede1f3\n"
    },
    {
      "commit": "7f8466fab49f684ec3f430d15ae765d3886052c5",
      "tree": "28e40cbcf6b35459054cc8c77911b43545115467",
      "parents": [
        "3e6c189c68bcac61216b8c2f0a0fc05d6ab15a53"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Mar 03 09:38:58 2017 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Mar 03 09:38:58 2017 -0800"
      },
      "message": "Framework: Ensure image heap string literals for Patterns\n\nDo not use Pattern.toString to construct complex patterns. Instead,\nmake the string literals explicit so they can be compile-time\nallocated, thus ending up as clean memory in the image heap.\n\nBug: 34956610\nTest: m\nTest: Device boots\nChange-Id: I20d45c31243af00168553c218f75fb0795b55149\n"
    },
    {
      "commit": "3e6c189c68bcac61216b8c2f0a0fc05d6ab15a53",
      "tree": "4d449ef9adcf7bf3765b33e97c779ff3cea8b503",
      "parents": [
        "982f42f71c490b00f37020d69369ff42fd7fd72c",
        "8bacd9bd022e9334214a6af237d0f71015781c9b"
      ],
      "author": {
        "name": "Tobias Thierer",
        "email": "tobiast@google.com",
        "time": "Fri Mar 03 12:02:09 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 03 12:02:09 2017 +0000"
      },
      "message": "Merge \"Move value for the Build.CUR_DEVELOPMENT constant into libcore\""
    },
    {
      "commit": "982f42f71c490b00f37020d69369ff42fd7fd72c",
      "tree": "de3b38646224d01edfe989f60bd2bac61bbed614",
      "parents": [
        "9dbcff7d73883704b8552e33cf711e6d7c946b71",
        "84b55115354f3c2c9531f251f9d126bb7a06988d"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Fri Mar 03 10:59:23 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 03 10:59:25 2017 +0000"
      },
      "message": "Merge \"fd_utils: switch to libbase logging.\""
    },
    {
      "commit": "9dbcff7d73883704b8552e33cf711e6d7c946b71",
      "tree": "6eec521bceeef6dbadd3d27c6411389bcd86cfb2",
      "parents": [
        "d56d98b8607e7316e93fd3daf33b7b7438921ce8",
        "a352d2473a8bf5d5cb711ea5ef1591604e2bef94"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Fri Mar 03 10:34:36 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 03 10:34:37 2017 +0000"
      },
      "message": "Merge \"fd_utils: add missing logging for a couple of failure cases.\""
    },
    {
      "commit": "d56d98b8607e7316e93fd3daf33b7b7438921ce8",
      "tree": "a5779b8d493fb99f2fcb3729ab6cfc6dc64b4a07",
      "parents": [
        "c657b769ab9d37daa8a6086ec0e468bcb3530a50",
        "c6494490939768ab86d88abd2e562e0e591d7a8e"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri Mar 03 03:42:33 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 03 03:42:34 2017 +0000"
      },
      "message": "Merge changes from topic \u0027secondary-dex1\u0027\n\n* changes:\n  Use DexManager logic to decide if a package is used by other apps\n  Skip class path checking for secondary dex files\n"
    },
    {
      "commit": "c6494490939768ab86d88abd2e562e0e591d7a8e",
      "tree": "f8dde79f6ece0ce4aa03f5e974cfdfc163c8c23b",
      "parents": [
        "f8afcdc7b7b39ddc7161b1be01eebf763e68c793"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Mar 01 19:55:35 2017 -0800"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri Mar 03 02:16:04 2017 +0000"
      },
      "message": "Use DexManager logic to decide if a package is used by other apps\n\nStop relying on the file marker recorded by the runtime. We have the\nsame data available from the DexManager.\n\nThe clean up CL to remove the handling of the file markers will follow.\n\nTest: verify that \"shared packages\" (e.g. gmscore) are not compiled with speed-profile.\n\nBug: 32871170\n\n(cherry picked from commit 07b6eabe79261267ecd7114790e96e1f6828672a)\n\nChange-Id: I2969b75fa77d38dde0073ef67aa89b1dc91237b5\n\nMerged-In: I6cc5834ac88489e69896cd5fba9ed9968aa7f5a2\n"
    },
    {
      "commit": "f8afcdc7b7b39ddc7161b1be01eebf763e68c793",
      "tree": "9735a4cff06d5068256ceb15f9b30a0cace62f56",
      "parents": [
        "ad014af09a737c2c336236b63f19b7f35f536b19"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Feb 14 17:53:13 2017 -0800"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri Mar 03 02:12:24 2017 +0000"
      },
      "message": "Skip class path checking for secondary dex files\n\nPass \u0027\u0026\u0027 marker to dex2oat classpath when compiling secondary dex files.\nThis will skip class path checking when loading the oat files.\n\nTest: adb shell cmd package compile -m speed -f --secondary-dex com.google.android.gms\n      oatdump --header-only --oat-\nfile\u003d/data/user/0/com.google.android.gms/app_chimera/m/00000006/oat/arm64/DynamiteModulesC_GmsCore_prodmnc_alldpi_release\n      check that the class path contains the special \u0027\u0026\u0027 marker\n\nBug: 32871170\n\n(cherry picked from commit aae35767b6bca6f872c906a0fd38d7adb61217bd)\n\nChange-Id: I7f3c6743e749316ee02e8586a525ad28ae1ef765\n\nMerged-In: If0628aeb4e3f5717604bfc4a87a4b1d438e5fa65\n"
    },
    {
      "commit": "c657b769ab9d37daa8a6086ec0e468bcb3530a50",
      "tree": "fb33e72729654434aa8261503b764431058ade43",
      "parents": [
        "9e88c533378be607aae1402bbd6b45fcdd354920",
        "33cc60ccc98b555bb7d9e7c75d7435917cca1458"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Mar 03 00:22:30 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 03 00:22:31 2017 +0000"
      },
      "message": "Merge \"Remove the name length limit for system properties.\""
    },
    {
      "commit": "9e88c533378be607aae1402bbd6b45fcdd354920",
      "tree": "386faceda7d7fa4c7fe392b522692e83a166eb3c",
      "parents": [
        "603fb2ef56e0b9fce3030411e0ab93255c1102e0",
        "ad014af09a737c2c336236b63f19b7f35f536b19"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu Mar 02 23:54:22 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 02 23:54:24 2017 +0000"
      },
      "message": "Merge changes from topic \u0027secondary-dex\u0027\n\n* changes:\n  Fix typo in dexopt.secondary system property\n  Save package dex usage info after secondary dex reconciliation\n  Compile secondary dex files during background dexopt job\n  Add a shell command to force the background dexopt job\n  A bit more refactoring in BackgroundDexOptService\n  [PM] Clean up logic for secondary dex oat files\n  Compile secondary dex files in DexManager\n  Notify DexManager about new package installs\n"
    },
    {
      "commit": "33cc60ccc98b555bb7d9e7c75d7435917cca1458",
      "tree": "2e8346a12b0bae3091f54d7fdaf6ab702ebd12de",
      "parents": [
        "2142b14a882c62f442f3442e848c5fb0f85a121f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Mar 01 18:47:56 2017 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Mar 02 14:17:03 2017 -0800"
      },
      "message": "Remove the name length limit for system properties.\n\nBug: http://b/33926793\nTest: builds\nChange-Id: Ib89b66b7abebc9a28961a0c9032b99947e3db0d6\nMerged-In: Ib89b66b7abebc9a28961a0c9032b99947e3db0d6\n"
    },
    {
      "commit": "603fb2ef56e0b9fce3030411e0ab93255c1102e0",
      "tree": "4f23d7a6073b6f2112125b4a2c267709349ecf44",
      "parents": [
        "b8648ae07a5464b8495c47a2d42d093629af03b0",
        "f8dbd216c8d49473b195077f3d3519fc3f7fde18"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Mar 02 22:11:00 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 02 22:11:01 2017 +0000"
      },
      "message": "Merge \"hotspot2: expose string constants for cert type and auth methods\""
    },
    {
      "commit": "ad014af09a737c2c336236b63f19b7f35f536b19",
      "tree": "7161ccb764410ed06bc2a483291a5665d33b088a",
      "parents": [
        "61fd6eab463d5b86ef177537c149ee45a0a40dcc"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Feb 07 11:09:01 2017 -0800"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu Mar 02 13:14:30 2017 -0800"
      },
      "message": "Fix typo in dexopt.secondary system property\n\nTest: adb shell cmd package bg-dexopt-job\nBug: 32871170\n\n(cherry picked from commit 4466c5ad84e4429284b7d5e13ad8a87c924ea7fc)\n\nChange-Id: Ibfe3111198877ed0d758b68be89afb23c4756053\n\nMerged-In: Ic8a14a3fc5c9aa63f6cb376f337b5bf459997325\n"
    },
    {
      "commit": "61fd6eab463d5b86ef177537c149ee45a0a40dcc",
      "tree": "b39676462090970966b28c51a27c05359f61b79a",
      "parents": [
        "574994afde208fcb60f5aea9921b9b381e13e888"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu Jan 26 18:53:23 2017 -0800"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu Mar 02 13:14:03 2017 -0800"
      },
      "message": "Save package dex usage info after secondary dex reconciliation\n\nBug: 1833991\nTest: add a bogus entry to /syste/data/package-dex-usage.list\n      adb shell cmd package reconcile-secondary-dex-files\ncom.android.google.gms\n      wait a bit and check the bogus entry is gone\n\n(cherry picked from commit b1097411028103b6c88ce325af23d2ff1ec746c8)\n\nChange-Id: I23248b11ea07bceb6527f55bf62618d1b2c3d83d\n\nMerged-In: Ic07126bfb8730933081a5e010e3c357d338786e8\n"
    },
    {
      "commit": "574994afde208fcb60f5aea9921b9b381e13e888",
      "tree": "892a8696603623ffc88cba872798c9b750d0b163",
      "parents": [
        "f7edab63d9358b9a4e0dbec3243f6db9f50a2bbe"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Jan 25 18:00:05 2017 -0800"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu Mar 02 13:13:45 2017 -0800"
      },
      "message": "Compile secondary dex files during background dexopt job\n\nExtend the backgound dexopt job to compile secondary dex files when\n\"dalvik.vm.deopt.secondary\" system property is set to true.\n\nTest: adb shell cmd package bg-dexopt-job\nBug: 32871170\n\n(cherry picked from commit 51f521c3bf46e6040f36757bc53ea57ddc7be85e)\n\nChange-Id: I220ff4ea26c4eee030ab1a9f4c957a09aa9f2f4c\n\nMerged-In: If3a4b77f785e92c7f2f7869e25ff9b99904f165a\n"
    },
    {
      "commit": "f7edab63d9358b9a4e0dbec3243f6db9f50a2bbe",
      "tree": "eb78e8880812c71c4357f6c45033af3fd6014283",
      "parents": [
        "a57ef163750ca72180092de7e85835d2b8f464bc"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Jan 25 17:16:08 2017 -0800"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu Mar 02 13:13:12 2017 -0800"
      },
      "message": "Add a shell command to force the background dexopt job\n\nAdd \u0027bg-dexopt-job\u0027 command to \u0027adb shell cmd package\u0027 which will force\nthe background  dexopt job to run the optimizations immediately.\n\nNote that the command only runs the background optimizer logic. It may\noverlap with the actual job but the job scheduler will not be able to\ncancel it. It will also run even if the device is not in the idle\nmaintenance mode.\n\nTest: adb shell cmd package bg-dexopt-job\nBug: 32871170\n\n(cherry picked from commit cb5f41ea11b1a6fcd0977a64ee146dde8f537076)\n\nChange-Id: I82c781d46fe16e7b7566a5b5ee91be723a2125cb\n\nMerged-In: I8b0112074220b2e09baf13d842401ee1cf306a89\n"
    },
    {
      "commit": "a57ef163750ca72180092de7e85835d2b8f464bc",
      "tree": "2c0332636a04a0e017ebd7597f06b7f9fc59f2b4",
      "parents": [
        "e69fba3f7fbc8e4fc6c02b80c8fac097804b97f7"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Jan 25 17:08:03 2017 -0800"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu Mar 02 13:12:47 2017 -0800"
      },
      "message": "A bit more refactoring in BackgroundDexOptService\n\nExtract convenient methods to help with:\n- adding a shell command to run the background dexopt job\n- extending idleOptimizations to cover secondary dex files\n\nTest: device boots, background job run.\nBug: 32871170\n\n(cherry picked from commit c660475aafe91269be306c802823cf543005ce36)\n\nChange-Id: I146e4faeea90f2d58144a5dba26ae7f90a36b402\n\nMerged-In: I18fde62a1cb05c030a620722d5f217589beaefb1\n"
    },
    {
      "commit": "e69fba3f7fbc8e4fc6c02b80c8fac097804b97f7",
      "tree": "bdbdf394aed7febbe94932b66638af05b7c5c9dd",
      "parents": [
        "7218363a92d15cc1854cf298ef77e1ed2aeafa3b"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Jan 25 01:05:50 2017 -0800"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu Mar 02 13:12:21 2017 -0800"
      },
      "message": "[PM] Clean up logic for secondary dex oat files\n\nAdd logic in DexManager to reconcile secondary dex records with the\nactual files on disk. If secondary dex files are moved or removed then\nDexManager will remove the generated oat files during the call to\nreconcileSecondaryOdex() and update its internal state.\n\nAdd \u0027adb shell cmd package reconcile-secondary-dex packageName\u0027 which\nwill force DexManager to sync its data with the actual secondary dex\nfiles.\n\nTest: devices bots\n      runtest -x .../PackageDexUsageTests.java\n      runtest -x .../DexManagerTests.java\n      adb shell cmd package reconcile-secondary-dex\ncom.android.google.gms (after artificially/temporarily renaming some\ndex files)\n\nBug: 32871170\n\n(cherry picked from commit c22c30ed1c05c5c24185dc4d380d1c5026923d46)\n\nChange-Id: Ied9fcbfe367ed3a8250a9ba8d202518b264c64e8\n\nMerged-In: Id2d72dc89995f89cf1ddf79ae4e992afd3f3c127\n"
    },
    {
      "commit": "7218363a92d15cc1854cf298ef77e1ed2aeafa3b",
      "tree": "8eb6598f590ae750b493324e06f64ab4867c32e6",
      "parents": [
        "fcd672fca3e48cc5ce1e82aacec26ac391cedd01"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Mon Jan 16 19:18:48 2017 -0800"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu Mar 02 13:11:52 2017 -0800"
      },
      "message": "Compile secondary dex files in DexManager\n\nAdd logic for secondary dex compilation in DexManager. Also, extend the\n`cmd package compile` command with \u0027--secondary-dex\u0027 option which will\ncompile all used secondary dex files for the given package.\n\nTest: flash \u0026 boot,\n      cmd package compile --secondary-dex -f -m speed\ncom.google.android.gms\nBug: 32871170\n\n(cherry picked from commit c22c30ed1c05c5c24185dc4d380d1c5026923d46)\n\nChange-Id: I3cf26edbfb5e9f3683e608bb2a596e1ab5682bd4\n\nMerged-In: Ia2b95cb70d26c4ead5cb650047641b0881ca84ae\n"
    },
    {
      "commit": "fcd672fca3e48cc5ce1e82aacec26ac391cedd01",
      "tree": "4e4a14cfab0733d9c4852884003465a7f06a5a12",
      "parents": [
        "3d5504724f22c76bbaef96216eb91aff714efdd7"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Mon Jan 23 23:34:25 2017 -0800"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Thu Mar 02 13:11:28 2017 -0800"
      },
      "message": "Notify DexManager about new package installs\n\nThis will update the internal cache so that the secondary dex files of\nthe new package can be found when loaded.\n\nTest: runtest -x .../DexManagerTests.java\n\nBug: 32871170\n\n(cherry picked from commit 0d4b8f8b0c963d9a1f5cb6aff11a11195a3df225)\n\nChange-Id: I34008f6d262f19e88a346a36b83e4093b4129105\n\nMerged-In: I0cb7158af249feeb01cf578a7544dda978eede9d\n"
    },
    {
      "commit": "b8648ae07a5464b8495c47a2d42d093629af03b0",
      "tree": "94ebdf2dde127f46234f81c9bc8575e71bd81995",
      "parents": [
        "06a192fa4929ab46c1cc20ea601cb33bb1deb6ba",
        "ade21170a7d0b623d23b426403790dca3d564a6e"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Mar 02 17:23:45 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 02 17:23:45 2017 +0000"
      },
      "message": "Merge \"Fix Javadoc for StrictMode#permitUnbufferdIo\""
    },
    {
      "commit": "84b55115354f3c2c9531f251f9d126bb7a06988d",
      "tree": "fb2041e6ab33cbe66c1a508e22aadb14172fd0fd",
      "parents": [
        "a352d2473a8bf5d5cb711ea5ef1591604e2bef94"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu Mar 02 17:04:08 2017 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu Mar 02 17:11:00 2017 +0000"
      },
      "message": "fd_utils: switch to libbase logging.\n\nTest: make, boots\nChange-Id: I4976508f489ca15af0484f75a9ef02ed575beff5\n"
    },
    {
      "commit": "a352d2473a8bf5d5cb711ea5ef1591604e2bef94",
      "tree": "9b74a88b984185884730ebf012f0d024feac0cd1",
      "parents": [
        "06a192fa4929ab46c1cc20ea601cb33bb1deb6ba"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu Mar 02 14:44:45 2017 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu Mar 02 17:11:00 2017 +0000"
      },
      "message": "fd_utils: add missing logging for a couple of failure cases.\n\nAlso start using libbase style logging. Other log statements will\nbe converted in a follow up.\n\nTest: make\nBug: 33579623\nChange-Id: I34bb2ccab57e5bdd22aa35be8f8dcb68fdc4e097\n"
    },
    {
      "commit": "aebf17e7f1bc6ca6da9ed5d6c129264590ea2f9e",
      "tree": "e2a0075bfaaaef5e74b56a4497783252e16727a1",
      "parents": [
        "7f0300f1e20fc3c4c6c063eebcd0d4d1b407578c"
      ],
      "author": {
        "name": "Etan Cohen",
        "email": "etancohen@google.com",
        "time": "Wed Mar 01 12:47:28 2017 -0800"
      },
      "committer": {
        "name": "Etan Cohen",
        "email": "etancohen@google.com",
        "time": "Thu Mar 02 08:06:27 2017 -0800"
      },
      "message": "[CM] Allow timeout in request network\n\nAdd (unhide) a public API which provides network requests with a\ntimeout. When timed-out the (newly unhidden) onUnavailable() callback\nis triggered.\n\nNote: this CL does not add a handler to the API to be consistent\nwith the existing APIs. There is a separate effort (b/32130437)\nto update these APIs with Handlers.\n\nBug: 31399536\nTest: unit tests and CTS (new)\nChange-Id: I45ce9ada63372cb56937bb620bfbb7729e5e25d2\n"
    },
    {
      "commit": "06a192fa4929ab46c1cc20ea601cb33bb1deb6ba",
      "tree": "cf3c31baa9ce67e020009f91e7719d6912b84f73",
      "parents": [
        "d7b60d78692da2e97c3ba26582dcc496f7f9e994",
        "faa70976b490116323107166f90fdd944c5bdc77"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Mar 02 07:56:24 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 02 07:56:26 2017 +0000"
      },
      "message": "Merge \"ConnectivityManager: no double NetworkCallback registration\""
    },
    {
      "commit": "faa70976b490116323107166f90fdd944c5bdc77",
      "tree": "2132a6cd1009209d4d04cbad213ceea9b672f0db",
      "parents": [
        "2142b14a882c62f442f3442e848c5fb0f85a121f"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Fri Feb 03 15:55:42 2017 +0900"
      },
      "committer": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Thu Mar 02 15:19:37 2017 +0900"
      },
      "message": "ConnectivityManager: no double NetworkCallback registration\n\nTest: new test in ConnectivityManagerTest\nBug: 20701525\nChange-Id: I205333d31d43e6e6c7fe704ce63b458065f345ce\n"
    },
    {
      "commit": "d7b60d78692da2e97c3ba26582dcc496f7f9e994",
      "tree": "7a998512b83124212dd7c0c397f92114c86ce590",
      "parents": [
        "cbafc8d682444dfb78dc67d1aeb4fa71e7e2bc72",
        "1bab118bedfbf3b5bb61b18891c4082d4396ee48"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Mar 02 06:02:19 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 02 06:02:20 2017 +0000"
      },
      "message": "Merge \"Added two new RIL commands support\""
    },
    {
      "commit": "1bab118bedfbf3b5bb61b18891c4082d4396ee48",
      "tree": "7a998512b83124212dd7c0c397f92114c86ce590",
      "parents": [
        "cbafc8d682444dfb78dc67d1aeb4fa71e7e2bc72"
      ],
      "author": {
        "name": "Jack Yu",
        "email": "jackyu@google.com",
        "time": "Thu Feb 16 10:33:38 2017 -0800"
      },
      "committer": {
        "name": "Jack Yu",
        "email": "jackyu@google.com",
        "time": "Thu Mar 02 03:29:07 2017 +0000"
      },
      "message": "Added two new RIL commands support\n\nAdded RIL_REQUEST_SEND_DEVICE_STATE and\nRIL_REQUEST_SET_UNSOLICITED_RESPONSE_FILTER RIL requests support.\n\nTest: telephony sanity tests\nbug: 32223897, 20125037, 28294587\n\nMerged-In: I148a4322dfab2d8d84faf6505fb89dfc290411e3\nChange-Id: I148a4322dfab2d8d84faf6505fb89dfc290411e3\n"
    },
    {
      "commit": "cbafc8d682444dfb78dc67d1aeb4fa71e7e2bc72",
      "tree": "b9e985457347d9b25a08ed2dc32f25f935f545f7",
      "parents": [
        "2142b14a882c62f442f3442e848c5fb0f85a121f",
        "e3ce3e8bab91117b92b2b859dff24bfe62428d5b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Mar 02 02:52:08 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 02 02:52:09 2017 +0000"
      },
      "message": "Merge \"Basic javadoc for android.os.UpdateEngine.\""
    },
    {
      "commit": "f7303ba18e1c6631da4e41a2b571e32f93f01844",
      "tree": "86d8cd2c184469b330882a4a6e2bc876472b8a80",
      "parents": [
        "f8dbd216c8d49473b195077f3d3519fc3f7fde18"
      ],
      "author": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Wed Mar 01 09:49:51 2017 -0800"
      },
      "committer": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Wed Mar 01 16:06:55 2017 -0800"
      },
      "message": "wifi: WifiConfiguration: update documentation for isHomeProviderNetwork\n\nAddress API Councils comment on documentation for isHomeProviderNetwork\nfield.  Specifically, the expected value for this field for non-Passpoint\nnetwork configuration.\n\nBug: 35855359\nTest: make -j32\nChange-Id: Ie6cdcc39c5156dccc14ed144e58a6d2f201aef17\n"
    },
    {
      "commit": "f8dbd216c8d49473b195077f3d3519fc3f7fde18",
      "tree": "77f6b82b6f7e05973fbdfe9b5edfa272242766aa",
      "parents": [
        "81a28efd1b16cf908b308265aa75d17fece17a11"
      ],
      "author": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Tue Feb 28 15:12:16 2017 -0800"
      },
      "committer": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Wed Mar 01 16:05:52 2017 -0800"
      },
      "message": "hotspot2: expose string constants for cert type and auth methods\n\nSo that we can use these constants in WifiService and the apps\nas well in the future.\n\nWhile there, remove auth method \"CHAP\" from the supported list,\nsince it is currenlty not supported by WifiService.\n\nBug: 34206769\nTest: make -j32\nChange-Id: Icadc3b13f2b135d51445d336116fbba86e96b70f\n"
    },
    {
      "commit": "2142b14a882c62f442f3442e848c5fb0f85a121f",
      "tree": "fb92cfbb220fadbb17e49966d9c915e2c1e177e1",
      "parents": [
        "4904e7ae2afeb4a9ded8025eab31b4d8747cfdbd",
        "906a077cf8e847b6f160ef2b789879bbbb6c63ff"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Mar 02 00:01:32 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 02 00:01:33 2017 +0000"
      },
      "message": "Merge \"Fix up EAP-SIM documentation\""
    },
    {
      "commit": "4904e7ae2afeb4a9ded8025eab31b4d8747cfdbd",
      "tree": "a46386878a7d04e21ba28a9ad99edf87b2482dcb",
      "parents": [
        "7f0300f1e20fc3c4c6c063eebcd0d4d1b407578c",
        "14e0a1e8193474b7f540e42f547c88e34d1fc0d9"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 01 23:13:14 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 01 23:13:14 2017 +0000"
      },
      "message": "Merge \"Remove FastJNI optimization on AssetManager to avoid dead lock.\""
    },
    {
      "commit": "14e0a1e8193474b7f540e42f547c88e34d1fc0d9",
      "tree": "7eb5fa88fbaf46d6d55bbdf02f726b8f88ca693e",
      "parents": [
        "3e64003641c376573f4809aae79febd0187be81e"
      ],
      "author": {
        "name": "Tim Zhang",
        "email": "tim.zhang@spreadtrum.com",
        "time": "Thu Feb 16 09:55:27 2017 +0800"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Mar 01 22:17:19 2017 +0000"
      },
      "message": "Remove FastJNI optimization on AssetManager to avoid dead lock.\n\nI found there was a dead lock among main, android.display and GC threads\nwhen running monkey test.\n - Main thread got a mutex and was suspended by GC thread.\n - Android.display thread waited for mutex held by main thread.\n - GC thread waited for suspention of android.display thread.\n\nThis will lead to ANR or screen freeze.\n\nMerged-In: I13cf1eca3cb3b7c01aa754874f2b48aab0b472e8\nChange-Id: I13cf1eca3cb3b7c01aa754874f2b48aab0b472e8\n"
    },
    {
      "commit": "906a077cf8e847b6f160ef2b789879bbbb6c63ff",
      "tree": "93433b97014eb187b4cffa851d8b79b2527f3a54",
      "parents": [
        "924878a75258c02ab006d8e30a2dc09974e546e4"
      ],
      "author": {
        "name": "Paul Stewart",
        "email": "pstew@google.com",
        "time": "Fri Feb 24 10:21:35 2017 -0800"
      },
      "committer": {
        "name": "Paul Stewart",
        "email": "pstew@google.com",
        "time": "Wed Mar 01 14:02:28 2017 -0800"
      },
      "message": "Fix up EAP-SIM documentation\n\nAddress API Council comments on doucmentation for the method calls\nand constants related to EAP-SIM.  While here, improve unit tests\nto ensure that passing a null certificate (chain) causes the config\nto forget any existing client certificates.\n\nBug: 35847887\nTest: Unit tests\n\nChange-Id: I1c4e18e1a7cfb61aa4764e32778793368938e70b\n"
    },
    {
      "commit": "7f0300f1e20fc3c4c6c063eebcd0d4d1b407578c",
      "tree": "a0a8fc0b60d49e295fd5b2a3920c4eb1f96bcce5",
      "parents": [
        "5a33057092362ea1edbf7dc86dc51eaad1e9a2a0",
        "2cbce4ad8748e3cd086d7cc207a5ebd86685523c"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 01 21:24:24 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 01 21:24:25 2017 +0000"
      },
      "message": "Merge \"getTransport checks interface and instance names.\""
    },
    {
      "commit": "5a33057092362ea1edbf7dc86dc51eaad1e9a2a0",
      "tree": "39f81865ae36dec3ba9e700fea57823e50e1f236",
      "parents": [
        "0dc62c6dd3dd103be6ff4055472cc20fa3596e65",
        "24e18336178f1f166c873dda880c531babf3017b"
      ],
      "author": {
        "name": "Tyler Gunn",
        "email": "tgunn@google.com",
        "time": "Wed Mar 01 20:32:55 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 01 20:32:56 2017 +0000"
      },
      "message": "Merge \"Support for showing self-managed calls in IncallService.\""
    },
    {
      "commit": "0dc62c6dd3dd103be6ff4055472cc20fa3596e65",
      "tree": "ddce0ea95bca8fd0de539f80e7d7d76a079d6478",
      "parents": [
        "32d763b0ed027bcfd75c3d381ec5eeca0ab85c6d",
        "6a7c9333b92a1c7807a02eeffc1b10041af3d70e"
      ],
      "author": {
        "name": "nharold",
        "email": "nharold@google.com",
        "time": "Wed Mar 01 20:25:15 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 01 20:25:17 2017 +0000"
      },
      "message": "Merge changes from topic \u0027query-fplmn-sync\u0027\n\n* changes:\n  Provide a public API for TelephonyManager.getForbiddenPlmns()\n  Add support for querying Forbidden PLMNs\n"
    },
    {
      "commit": "32d763b0ed027bcfd75c3d381ec5eeca0ab85c6d",
      "tree": "12b89bbdcd55f1c6dd2dd794ce3f21f124823770",
      "parents": [
        "3d5504724f22c76bbaef96216eb91aff714efdd7",
        "05aa99c90e2d6403805056bc6a7e2d67364556bc"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 01 19:25:38 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 01 19:25:39 2017 +0000"
      },
      "message": "Merge \"Add DUN to networkAttributes\""
    },
    {
      "commit": "3d5504724f22c76bbaef96216eb91aff714efdd7",
      "tree": "8289f5d04e7c8b8f055eb134c35796a871db8141",
      "parents": [
        "eff6f4fc43fb8aec7b3f6a232057a7cdfe6808c9",
        "ea6b189486265d5df337f63ae45adc34a4491706"
      ],
      "author": {
        "name": "ashastry",
        "email": "ashastry@google.com",
        "time": "Wed Mar 01 18:18:46 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 01 18:18:47 2017 +0000"
      },
      "message": "Merge \"Permit privileged system apps to send SMS without persisting.\""
    },
    {
      "commit": "eff6f4fc43fb8aec7b3f6a232057a7cdfe6808c9",
      "tree": "4602b840be4cc5500ef1a7886412a598e3006bd6",
      "parents": [
        "81a28efd1b16cf908b308265aa75d17fece17a11",
        "954111a2522677ce2954910553762fd0379e6d4d"
      ],
      "author": {
        "name": "Etan Cohen",
        "email": "etancohen@google.com",
        "time": "Wed Mar 01 17:39:14 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 01 17:39:15 2017 +0000"
      },
      "message": "Merge \"[AWARE] Add data-path security configuration (PMK)\""
    },
    {
      "commit": "ade21170a7d0b623d23b426403790dca3d564a6e",
      "tree": "e8380fd9f19e5c8c8f70797313fa5f596f6e5e68",
      "parents": [
        "924878a75258c02ab006d8e30a2dc09974e546e4"
      ],
      "author": {
        "name": "Shubham Ajmera",
        "email": "shubhamajmera@google.com",
        "time": "Wed Mar 01 09:26:41 2017 -0800"
      },
      "committer": {
        "name": "Shubham Ajmera",
        "email": "shubhamajmera@google.com",
        "time": "Wed Mar 01 09:26:41 2017 -0800"
      },
      "message": "Fix Javadoc for StrictMode#permitUnbufferdIo\n\nBug: 35813076\nTest: no tests\nChange-Id: I2f71cad7a7a3f85908b322e2b83ba265c49adbad\n"
    },
    {
      "commit": "a6a2f5a1749c501eb645c70d25dd71fc24189e12",
      "tree": "f51dbb4db94322da31f6597a010a4e56ce927af7",
      "parents": [
        "924878a75258c02ab006d8e30a2dc09974e546e4"
      ],
      "author": {
        "name": "Tobias Thierer",
        "email": "tobiast@google.com",
        "time": "Mon Feb 13 19:19:43 2017 +0000"
      },
      "committer": {
        "name": "Tobias Thierer",
        "email": "tobiast@google.com",
        "time": "Wed Mar 01 16:48:21 2017 +0000"
      },
      "message": "Track: ICU TimeZone: publish TIMEZONE_* constants\n\nThese are necessary to use the ICU TimeZone.getTimeZone(String, int) API\nthat was published in Android N.\n\nTest: make update-api\n\nBug: 29318728\nChange-Id: I078fb1cb93718b6e784f1de071b6f58f3abb7365\n"
    },
    {
      "commit": "81a28efd1b16cf908b308265aa75d17fece17a11",
      "tree": "8aac5bc19798033ed92b60742b7176eb2a53f0a7",
      "parents": [
        "7645fa281649c46149d5a78b9fe99898d287eb4c",
        "ef5a401b7e3a68b0411886572c1a18b948f00c3d"
      ],
      "author": {
        "name": "Tyler Gunn",
        "email": "tgunn@google.com",
        "time": "Wed Mar 01 16:08:39 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 01 16:08:40 2017 +0000"
      },
      "message": "Merge \"Support confirmation of international calls while on WFC only.\""
    },
    {
      "commit": "954111a2522677ce2954910553762fd0379e6d4d",
      "tree": "2326ab96d0cb4b30cc0f2c8101677a9c014080ae",
      "parents": [
        "b987777f20be819d52d69c4e125ec1384e3aefd9"
      ],
      "author": {
        "name": "Etan Cohen",
        "email": "etancohen@google.com",
        "time": "Tue Feb 21 10:08:42 2017 -0800"
      },
      "committer": {
        "name": "Etan Cohen",
        "email": "etancohen@google.com",
        "time": "Wed Mar 01 07:35:35 2017 -0800"
      },
      "message": "[AWARE] Add data-path security configuration (PMK)\n\nAdd API to optionally provide a pairwise master key (PMK)\nto configure security on a data-path.\n\nClarify the default API to mean open (unencrypted) data-path.\n\nBug: 33552694\nTest: unit tests and integration (sl4a) tests\nChange-Id: I43fe704547f2921b3207f215e42d253837aa04e9\n"
    },
    {
      "commit": "7645fa281649c46149d5a78b9fe99898d287eb4c",
      "tree": "f1e5a421fc0f807b8caf8768c5bddbe060098604",
      "parents": [
        "355dbae680994002c48d7a66cb276a65393ecbbb",
        "330e1089da80cddcd68758512370d217b19f8890"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 01 14:05:47 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 01 14:05:48 2017 +0000"
      },
      "message": "Merge \"Add API Surface for creating IpSec Transforms\""
    },
    {
      "commit": "8bacd9bd022e9334214a6af237d0f71015781c9b",
      "tree": "ed9ebd0e4d11e8408ad31220017f8e2531833f87",
      "parents": [
        "924878a75258c02ab006d8e30a2dc09974e546e4"
      ],
      "author": {
        "name": "Tobias Thierer",
        "email": "tobiast@google.com",
        "time": "Wed Feb 15 20:38:29 2017 +0000"
      },
      "committer": {
        "name": "Tobias Thierer",
        "email": "tobiast@google.com",
        "time": "Wed Mar 01 12:44:01 2017 +0000"
      },
      "message": "Move value for the Build.CUR_DEVELOPMENT constant into libcore\n\nThis matches a corresponding libcore change. It is to allow\nlibcore to use this value as a default when no other value is\nexplicitly set, e.g. in the system server or during testing\nwith vogar.\n\nBug: 34072201\nTest: Device boots with CLs from this CL\u0027s topic.\nChange-Id: Id812339a343ecea84a08bfdf4b873f3b156a13d4\n"
    },
    {
      "commit": "355dbae680994002c48d7a66cb276a65393ecbbb",
      "tree": "383fdaab8cadb69a681248c8367e798d4c99fd7d",
      "parents": [
        "dff6c5c30db313fbe4a1b60eea0f5f97ca9c2462",
        "977aad5a654ebd2cfbc73db8c6e4020c4bedad97"
      ],
      "author": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Wed Mar 01 11:40:02 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 01 11:40:03 2017 +0000"
      },
      "message": "Merge \"Fix dead lock in Tethering state machine\""
    },
    {
      "commit": "dff6c5c30db313fbe4a1b60eea0f5f97ca9c2462",
      "tree": "ec30b3405fd7dda0f5d778bf53502061a65d3731",
      "parents": [
        "2006bfc9ad340e468c56f71ff34e7cf9b4a6f44f",
        "1d3db327088fc9a17b13892d8e86b6c8e650a8c1"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 01 10:55:34 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 01 10:55:35 2017 +0000"
      },
      "message": "Merge \"Also test for additional NetworkCallback calls\""
    },
    {
      "commit": "1d3db327088fc9a17b13892d8e86b6c8e650a8c1",
      "tree": "fa011bcc333dbdedfb231daf2b9c2e46c5456346",
      "parents": [
        "3e64003641c376573f4809aae79febd0187be81e"
      ],
      "author": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Tue Feb 28 16:20:20 2017 +0900"
      },
      "committer": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Wed Mar 01 18:24:36 2017 +0900"
      },
      "message": "Also test for additional NetworkCallback calls\n\nSpecifcally:\n    - onCapabilitiesChanged\n    - onLinkPropertiesChanged\n    - onNetworkSuspended\n\nTest: as follows\n    - built (bullhead)\n    - flashed\n    - booted\n    - runtest frameworks-net passes\nBug: 32163131\n\nChange-Id: Ie0f7c8ac21313b11980bb335c89ecde6fd8e311c\n"
    },
    {
      "commit": "330e1089da80cddcd68758512370d217b19f8890",
      "tree": "dd3dba389ddcefcf0f198af1dbfc3c442e8dddd3",
      "parents": [
        "b987777f20be819d52d69c4e125ec1384e3aefd9"
      ],
      "author": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Thu Jan 12 18:38:57 2017 -0800"
      },
      "committer": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Tue Feb 28 22:01:20 2017 -0800"
      },
      "message": "Add API Surface for creating IpSec Transforms\n\nThis CL adds an API to set up an IPSec Security Association\nand Security Policy to perform Transport-Mode and Tunnel-Mode encapuslation\nof IP Packets.\n\nBug: 30984788\nBug: 34811752\nTest: 34812052, 34811227\nChange-Id: Ic9f63c7bb366302a24baa3e1b79020210910ac0a\n"
    },
    {
      "commit": "2cbce4ad8748e3cd086d7cc207a5ebd86685523c",
      "tree": "2dd8cc402d8e0ecf61ac613510c6267f71694971",
      "parents": [
        "e091985bb5b55cb33af39d882d9ccef5cd100b50"
      ],
      "author": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Tue Feb 28 16:05:48 2017 -0800"
      },
      "committer": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Tue Feb 28 20:35:50 2017 -0800"
      },
      "message": "getTransport checks interface and instance names.\n\nBug: 35219444\nTest: hidl_test\nTest: camera, soundtrigger works on marlin\nTest: video playback works on marlin\nChange-Id: I4d714d2576588cbd9a30d9687e992d34ee0db6d4\n"
    },
    {
      "commit": "2006bfc9ad340e468c56f71ff34e7cf9b4a6f44f",
      "tree": "72a04e1fc8e2839620ebb3000e9dea3c616cd3ce",
      "parents": [
        "22af0f33777b2973af180ee0a698bc8a7f86a1ca",
        "18f307aed32d7a74a088fd871b90a5b9be86d8fa"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 01 01:45:51 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 01 01:45:52 2017 +0000"
      },
      "message": "Merge \"Fix memory-leak warnings from the static analyzer\""
    },
    {
      "commit": "22af0f33777b2973af180ee0a698bc8a7f86a1ca",
      "tree": "71bf2eef068b3453c2fa4846205ce8ae4ab07b19",
      "parents": [
        "b987777f20be819d52d69c4e125ec1384e3aefd9",
        "07094df24a7e411b319cfc07bd28ffcf43320473"
      ],
      "author": {
        "name": "Hall Liu",
        "email": "hallliu@google.com",
        "time": "Wed Mar 01 00:51:37 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 01 00:51:38 2017 +0000"
      },
      "message": "Merge \"Add @hide to RttAudioMode IntDef\""
    },
    {
      "commit": "18f307aed32d7a74a088fd871b90a5b9be86d8fa",
      "tree": "32709f2754e07bc853f93a6bbf42de90ffcf729f",
      "parents": [
        "01f2e676481cf434a390029e361f77357e47d61f"
      ],
      "author": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Tue Jan 24 16:30:22 2017 -0800"
      },
      "committer": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Wed Mar 01 00:08:04 2017 +0000"
      },
      "message": "Fix memory-leak warnings from the static analyzer\n\nWarnings:\nframeworks/base/core/jni/android_view_InputChannel.cpp:145:5: warning:\nPotential memory leak\njobject serverChannelObj \u003d\nandroid_view_InputChannel_createInputChannel(env,\n^~~~~~~~~~~~~~~~~~~~~~~~\nframeworks/base/core/jni/android_view_InputChannel.cpp:151:5: warning:\nPotential memory leak\njobject clientChannelObj \u003d\nandroid_view_InputChannel_createInputChannel(env,\n^~~~~~~~~~~~~~~~~~~~~~~~\n\nThe warnings were complaining about that we might leak\nnativeInputChannel, in android_view_InputChannel_createInputChannel,\nsince we\u0027re allocating it as an arg and not always putting it somewhere.\n\nBug: None\nTest: Builds without warnings\nChange-Id: I62163adee5d420ad78c8d4c74aafefc8a58f765b\n"
    },
    {
      "commit": "e3ce3e8bab91117b92b2b859dff24bfe62428d5b",
      "tree": "d01f89ee19e93d09b98642f52a9bf516d617115a",
      "parents": [
        "3e64003641c376573f4809aae79febd0187be81e"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Feb 27 09:37:02 2017 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Feb 28 15:19:32 2017 -0800"
      },
      "message": "Basic javadoc for android.os.UpdateEngine.\n\nBug: N/A\nTest: N/A\nChange-Id: Icb870e7720e8b50082d353e7ea08007e1f4e2fdc\n"
    },
    {
      "commit": "07094df24a7e411b319cfc07bd28ffcf43320473",
      "tree": "92fe4e3ca8b09a1244b20ff92ba79807c86582ff",
      "parents": [
        "3e64003641c376573f4809aae79febd0187be81e"
      ],
      "author": {
        "name": "Hall Liu",
        "email": "hallliu@google.com",
        "time": "Tue Feb 28 15:17:44 2017 -0800"
      },
      "committer": {
        "name": "Hall Liu",
        "email": "hallliu@google.com",
        "time": "Tue Feb 28 15:18:31 2017 -0800"
      },
      "message": "Add @hide to RttAudioMode IntDef\n\nIntDefs apparently require an @hide annotation to avoid breaking CTS\ntests. Adding it here.\n\nChange-Id: Ifd748b55e68091132571df7e74fdb797bd6a83fc\nTest: CTS\nFix: 35808951\n"
    },
    {
      "commit": "b987777f20be819d52d69c4e125ec1384e3aefd9",
      "tree": "c94df57c91fc292f251733a0a4bfcb71499b0397",
      "parents": [
        "17cb857301e3ca92951c43a301525197562f1c40",
        "e0a7345c6a353411c73f7f45875478684472a91c"
      ],
      "author": {
        "name": "Brad Ebinger",
        "email": "breadley@google.com",
        "time": "Tue Feb 28 22:44:54 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 28 22:44:56 2017 +0000"
      },
      "message": "Merge \"Send the IMS_SERVICE_UP intent when it is STATE_READY\""
    },
    {
      "commit": "298a146754e35cbc650aa991ebff1a41eefdbe80",
      "tree": "8c1c847d9c42f13460e3d09e84435f9d4ce2195e",
      "parents": [
        "3e64003641c376573f4809aae79febd0187be81e"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Tue Feb 28 14:07:09 2017 -0800"
      },
      "committer": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Tue Feb 28 14:19:44 2017 -0800"
      },
      "message": "Check for spurious wake ups\n\nCondition::wait() can spuriously wake up, so we must guard it with\nanother check to ensure that a given wake was truly due to having\nbeen signaled.\n\nBug: 34592766\nTest: Boot bullhead\nChange-Id: Iaa5a0ca6186aea50c51e2c402ef95d7ba861be92\n"
    },
    {
      "commit": "ef5a401b7e3a68b0411886572c1a18b948f00c3d",
      "tree": "6d614f28800fa9ab04d6c2298fc63464c46b744f",
      "parents": [
        "924878a75258c02ab006d8e30a2dc09974e546e4"
      ],
      "author": {
        "name": "Tyler Gunn",
        "email": "tgunn@google.com",
        "time": "Thu Feb 16 16:21:14 2017 -0800"
      },
      "committer": {
        "name": "Tyler Gunn",
        "email": "tgunn@google.com",
        "time": "Tue Feb 28 13:08:22 2017 -0800"
      },
      "message": "Support confirmation of international calls while on WFC only.\n\nAdd new carrier config which enables a confirmation message when the user\ndials an international number while on WFC only.\n\nAdd new @hide PhoneNumberUtils method which is used to determine if a\nnumber dialed is an international number.\n\nTest: Manual, unit.\nBug: 33272455\nMerged-In: Ia7ffe10eee7d782ddc3355db616af0a48f19556e\nChange-Id: Ia7ffe10eee7d782ddc3355db616af0a48f19556e\n"
    },
    {
      "commit": "17cb857301e3ca92951c43a301525197562f1c40",
      "tree": "cabcf32b76d2393c50a47bd6c73f33af089b40aa",
      "parents": [
        "924878a75258c02ab006d8e30a2dc09974e546e4",
        "6837ead33d825116d703d47715641846df7eb26e"
      ],
      "author": {
        "name": "Andre Eisenbach",
        "email": "eisenbach@google.com",
        "time": "Tue Feb 28 19:04:13 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 28 19:04:13 2017 +0000"
      },
      "message": "Merge \"Bluetooth: fix enable log: display 24h time\""
    },
    {
      "commit": "6837ead33d825116d703d47715641846df7eb26e",
      "tree": "cabcf32b76d2393c50a47bd6c73f33af089b40aa",
      "parents": [
        "924878a75258c02ab006d8e30a2dc09974e546e4"
      ],
      "author": {
        "name": "Marie Janssen",
        "email": "jamuraa@google.com",
        "time": "Fri Feb 24 11:06:33 2017 -0800"
      },
      "committer": {
        "name": "Andre Eisenbach",
        "email": "eisenbach@google.com",
        "time": "Tue Feb 28 19:02:21 2017 +0000"
      },
      "message": "Bluetooth: fix enable log: display 24h time\n\nTest: adb bugreport at 1pm, observe 13:xx:yy instead of 01:xx:yy\nChange-Id: I172dcc63f0f43563ec692349a9434f63c55eac25\n"
    },
    {
      "commit": "e0a7345c6a353411c73f7f45875478684472a91c",
      "tree": "3b26d3e6910e18a0d7e6bd4bc99aaf81df2c856f",
      "parents": [
        "3e64003641c376573f4809aae79febd0187be81e"
      ],
      "author": {
        "name": "Brad Ebinger",
        "email": "breadley@google.com",
        "time": "Mon Feb 27 13:38:53 2017 -0800"
      },
      "committer": {
        "name": "Brad Ebinger",
        "email": "breadley@google.com",
        "time": "Tue Feb 28 10:56:14 2017 -0800"
      },
      "message": "Send the IMS_SERVICE_UP intent when it is STATE_READY\n\nThe ImsService must send the IMS_SERVICE_UP intent when it\nsignals that it is in the STATE_READY state and\nIMS_SERVICE_DOWN when it is STATE_INITIALIZING or\nSTATE_NOT_AVAILABLE.\n\nAlso, add READ_PRIVILEGED_PHONE_STATE check\n\nBug: 35736451\nTest: Unit tests added in frameworks/opt/telephony\nChange-Id: I03d4398cf7008cf8c51b78d99eb029aa99c63f62\n"
    }
  ],
  "next": "924878a75258c02ab006d8e30a2dc09974e546e4"
}
