)]}'
{
  "log": [
    {
      "commit": "6ed77be41de4449e51b19a2a7d2a9c2611c8c328",
      "tree": "0b653e68355f35330d30c318135c771d44f28891",
      "parents": [
        "7b6cebcaa2b4fa413a3121d2c466dcd654acc573",
        "2f2365de4a339d37af00055556d6d643175453b8"
      ],
      "author": {
        "name": "smain@google.com",
        "email": "smain@google.com",
        "time": "Tue Sep 27 17:23:54 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Sep 27 17:23:54 2016 +0000"
      },
      "message": "add source.properties file to the offline docs build which is required to get this in the SDK Manager\nam: 2f2365de4a\n\nChange-Id: I15b5ea8a37ec7c718d23db14baed6c8ffb0af13c\n"
    },
    {
      "commit": "2f2365de4a339d37af00055556d6d643175453b8",
      "tree": "83cb7c1e08ac2eb25dfa4f0fa4198ceffdfec406",
      "parents": [
        "011172a73187ebdf50041809a98101432a191a52"
      ],
      "author": {
        "name": "smain@google.com",
        "email": "smain@google.com",
        "time": "Wed Sep 21 14:05:50 2016 -0700"
      },
      "committer": {
        "name": "smain@google.com",
        "email": "smain@google.com",
        "time": "Wed Sep 21 16:26:41 2016 -0700"
      },
      "message": "add source.properties file to the offline docs build\nwhich is required to get this in the SDK Manager\n\nChange-Id: If53cdedcb8f5910fe37add44168348c9fd14d0cb\n"
    },
    {
      "commit": "33684f217be9e33af6050fb22371b7f783245093",
      "tree": "d23d5632df634262e5a4dd86f93aea41c26104f5",
      "parents": [
        "4ef51f592364f8e82a41abe1d7fec7c57ac89bad",
        "7d47b55cc04953c003026310cf0e8eaeddd7487b"
      ],
      "author": {
        "name": "Dirk Dougherty",
        "email": "ddougherty@google.com",
        "time": "Fri Sep 16 23:58:02 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Sep 16 23:58:02 2016 +0000"
      },
      "message": "Add build target for generating navtree json with all inherited members.\nam: 7d47b55cc0\n\nChange-Id: Ib9279dc1ec2149a535f4b7a4843612da6af27650\n"
    },
    {
      "commit": "7d47b55cc04953c003026310cf0e8eaeddd7487b",
      "tree": "715748d024247740f49ff1e562a51507545d79f0",
      "parents": [
        "034401cfaf7cca456c0f027529ee9f7c5fd16996"
      ],
      "author": {
        "name": "Dirk Dougherty",
        "email": "ddougherty@google.com",
        "time": "Tue Sep 13 16:44:25 2016 -0700"
      },
      "committer": {
        "name": "Dirk Dougherty",
        "email": "ddougherty@google.com",
        "time": "Tue Sep 13 16:44:25 2016 -0700"
      },
      "message": "Add build target for generating navtree json with all inherited members.\n\nChange-Id: I142e848b5288d92e14445025705ea7596e635b6b\n"
    },
    {
      "commit": "ff8cb509798b3e0fc18f2eaf5fa2218fa4573cb6",
      "tree": "49ea6e24d06efe52bf760247edca64e07224590a",
      "parents": [
        "995138bb1c2ba6396db1beede7279601b0377674",
        "7dd974924671715501b53efb90e3e116d436d966"
      ],
      "author": {
        "name": "smain@google.com",
        "email": "smain@google.com",
        "time": "Sat Sep 03 01:19:05 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Sep 03 01:19:05 2016 +0000"
      },
      "message": "remove \u0027useUpdatedTemplates\u0027 flag that\u0027s no longer supported. Fix build.\nam: 7dd9749246\n\nChange-Id: I5a048d040dd040f40d0b5e30ea67e62de4cf7259\n"
    },
    {
      "commit": "7dd974924671715501b53efb90e3e116d436d966",
      "tree": "9b94a607e76ad6eaf37f935a883e8f4ef7ed3bd9",
      "parents": [
        "460b9c08e6b549533b95ba117dcd6ed53ba4cf26"
      ],
      "author": {
        "name": "smain@google.com",
        "email": "smain@google.com",
        "time": "Fri Sep 02 18:10:29 2016 -0700"
      },
      "committer": {
        "name": "smain@google.com",
        "email": "smain@google.com",
        "time": "Fri Sep 02 18:10:29 2016 -0700"
      },
      "message": "remove \u0027useUpdatedTemplates\u0027 flag that\u0027s no longer supported. Fix build.\n\nChange-Id: Ic1778b6e3044c80e602f5ce9d4f825c8578c1a0a\n"
    },
    {
      "commit": "63f29277bcd64f8e0b0681fa18b29fa8ce799e23",
      "tree": "167f8eddc9950b1d9fb49ce698ff2113d5a71c7d",
      "parents": [
        "d468597a79cc829e374cb4167dc8018979295263",
        "534bfe1a4ab9a13894f48c3c92ce9d5d8ce70d2b"
      ],
      "author": {
        "name": "smain@google.com",
        "email": "smain@google.com",
        "time": "Fri Sep 02 21:36:07 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Sep 02 21:36:07 2016 +0000"
      },
      "message": "switch all API builds to use template-sdk instead of (soon to be deleted) templates-sdk-dev. also update all non-DAC builds to use the \"referenceonly\" flag for a cleaner output and faster build.\nam: 534bfe1a4a\n\nChange-Id: I9833fe119f6e5fef4cd74439c71d6a40fb5d5db9\n"
    },
    {
      "commit": "534bfe1a4ab9a13894f48c3c92ce9d5d8ce70d2b",
      "tree": "96d9ce9113b93f95f8948ba445e7d89904228b1e",
      "parents": [
        "84763eb770b818974f6f10655093311ba0234ee8"
      ],
      "author": {
        "name": "smain@google.com",
        "email": "smain@google.com",
        "time": "Thu Sep 01 19:52:17 2016 -0700"
      },
      "committer": {
        "name": "smain@google.com",
        "email": "smain@google.com",
        "time": "Thu Sep 01 19:57:42 2016 -0700"
      },
      "message": "switch all API builds to use template-sdk instead of (soon to be deleted) templates-sdk-dev.\nalso update all non-DAC builds to use the \"referenceonly\" flag for a cleaner output and faster build.\n\nChange-Id: Iebd9791305479c5dc406ba3b81eaf076855bc632\n"
    },
    {
      "commit": "c9ec419c9cca850687ab3dbc0b31f3a3bc27d8cd",
      "tree": "96c83ffe0639c4f112e975b7d33b29cf884986fb",
      "parents": [
        "59b5c1030cbeca015734e5414145e997a4a9ff43",
        "dde8deb950a09c381aedc2c13bfd3f9202263d4b"
      ],
      "author": {
        "name": "smain@google.com",
        "email": "smain@google.com",
        "time": "Wed Aug 31 03:40:37 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Aug 31 03:40:37 2016 +0000"
      },
      "message": "replace the N Preview landing page with the redirect to the package index also update version metadata (no longer preview, now 7.0)\nam: dde8deb950\n\nChange-Id: Ide293756b6b7a75a434ff9ed3cf15cd40fbd3452\n"
    },
    {
      "commit": "dde8deb950a09c381aedc2c13bfd3f9202263d4b",
      "tree": "9ff097d35cbc8e3b47aed7d4c149d6e51dbe2aab",
      "parents": [
        "36f4638fe7ac6a0ec3297ebbf30f3349b9d7bf14"
      ],
      "author": {
        "name": "smain@google.com",
        "email": "smain@google.com",
        "time": "Mon Aug 29 18:36:50 2016 -0700"
      },
      "committer": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Tue Aug 30 20:42:12 2016 +0000"
      },
      "message": "replace the N Preview landing page with the redirect to the package index\nalso update version metadata (no longer preview, now 7.0)\n\nChange-Id: I84af003daa9bae3bc932c8b87921ed82f813e1cf\n"
    },
    {
      "commit": "d66ec65b77ff5b63490393a579b57f29026f4e39",
      "tree": "3ab57fca18f7263fa5b3660c6a51a8c4f1471264",
      "parents": [
        "712dde29fff4b7387cfed2e3fff64e51c5b329cd",
        "b042ab1eb6519ea5eb4614b0038e8aaed6d5af99"
      ],
      "author": {
        "name": "Dirk Dougherty",
        "email": "ddougherty@google.com",
        "time": "Wed Aug 17 22:59:23 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Aug 17 22:59:23 2016 +0000"
      },
      "message": "dd new ds-static doc build target to generate static docs (only) for devsite without resolving @links.\nam: b042ab1eb6\n\nChange-Id: I725ff3bce89572d06f76dd9f1860365514d27d56\n"
    },
    {
      "commit": "b042ab1eb6519ea5eb4614b0038e8aaed6d5af99",
      "tree": "fa847cb0c6912ebd6c95e4486db91328c356c270",
      "parents": [
        "114c09498d2973db8d1d1e2a6f0d7f235b65728e"
      ],
      "author": {
        "name": "Dirk Dougherty",
        "email": "ddougherty@google.com",
        "time": "Tue Jun 14 16:26:28 2016 -0700"
      },
      "committer": {
        "name": "Dirk Dougherty",
        "email": "ddougherty@google.com",
        "time": "Tue Aug 16 16:28:20 2016 -0700"
      },
      "message": "dd new ds-static doc build target to generate static docs (only) for devsite without resolving @links.\n\nChange-Id: I7d26fabfca74d8e706fd99cbeaa1761907c31dbf\n"
    },
    {
      "commit": "31b95e0265fecb60ba29baba6a5ea4de3d4a3367",
      "tree": "cf6bc558fba99e031c76c9332f0c84a8dc2a6b1e",
      "parents": [
        "6cecc8dc278845bc2868b28c510a18cd20e95a44"
      ],
      "author": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Thu Aug 04 14:27:15 2016 -0700"
      },
      "committer": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Fri Aug 05 07:17:52 2016 -0700"
      },
      "message": "Move EphemeralResolverService\n\nIt should not have been under com.android.internal\n\nFixes: 30673742\nChange-Id: I2277aa4a4799fa59bf68af7c4cfcb4e1216aeb8d\n"
    },
    {
      "commit": "e8c3590a7703fa0022c1b70e5136296dd1266600",
      "tree": "f74bbf54277e94d314f6dc770f85eccd38e164f4",
      "parents": [
        "838542a660672d80e6b1b8653ee2d5fe32c4d734",
        "6623f4177ce538251cfd7a6a6f64562a7c634cd1"
      ],
      "author": {
        "name": "smain@google.com",
        "email": "smain@google.com",
        "time": "Mon Jul 18 15:07:55 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jul 18 15:07:55 2016 +0000"
      },
      "message": "Merge \\\"update the version number used in docs and update the offline docs landing page\\\" into nyc-dev\nam: 6623f4177c\n\nChange-Id: I60626863804f787bf5e1435003d730427f1254df\n"
    },
    {
      "commit": "39426fd8f6183e7cd27bad4694deb3a14f8cce5b",
      "tree": "2ec0199dc7dcaac6a056e721c2b902fc063258a5",
      "parents": [
        "686996d2dc0a2de4b44fc24473908ef1d1c3cfa3"
      ],
      "author": {
        "name": "smain@google.com",
        "email": "smain@google.com",
        "time": "Wed Jul 13 13:58:06 2016 -0700"
      },
      "committer": {
        "name": "smain@google.com",
        "email": "smain@google.com",
        "time": "Wed Jul 13 16:08:25 2016 -0700"
      },
      "message": "update the version number used in docs\nand update the offline docs landing page\n\nChange-Id: I36388e0a125d6349518d9c4d5368fb76fb85cf7a\n"
    },
    {
      "commit": "e8fde5d9666eea10307cbc27f4b1a94d3cbb4ec9",
      "tree": "a8b9c9653f2e2d38d753a2638989186e2e41b9fc",
      "parents": [
        "6ac6ceb28bf8871db213cbccfb966c8e6040738e"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Thu Jun 30 23:41:37 2016 -0700"
      },
      "committer": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Fri Jul 08 11:50:54 2016 -0700"
      },
      "message": "Improve initial unlock delay (1/2)\n\nWhen checking for the credentials, we add a new callback\nonEarlyVerified which gets called as soon as we know that the\ncredential was correct.\n\nIn KeyguardUpdateMonitor, we track the unlocked state of the user,\nand if it\u0027s still locked, we slow down all the transitions to allow\nfor a more gradual unlock experience.\n\nBug: 29007436\n\nChange-Id: I406d228f9f3e41e07fe3292a61df175a7f579e4d\n"
    },
    {
      "commit": "c526ad0e89a5d425c889713d56916d7c7a14b138",
      "tree": "b74d23d20c8d67e938b97c0b2b6b2e8e25b0a09c",
      "parents": [
        "84954568db33c36572833f0eba4a2e2e32ade6f1",
        "83f71845af1a4cf7ef3afb0f4695dba8b679b674"
      ],
      "author": {
        "name": "smain@google.com",
        "email": "smain@google.com",
        "time": "Thu Jul 07 01:25:11 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jul 07 01:25:11 2016 +0000"
      },
      "message": "Merge \\\"remove \\\"referenceonly\\\" flag from the offline-docs build. Add new offline-docs-referenceonly make rule. And update online-sdk and offline-sdk to use the new site templates.\\\" into nyc-dev\nam: 83f71845af\n\nChange-Id: Iee22aa299a11517f6c0efb73b57d5d256c8148c1\n"
    },
    {
      "commit": "d58f07f58a8230ee906b9af7d7a89ac876158ab6",
      "tree": "7e579ca44ea8c34a6e14523d5f5d60d9a0222e4e",
      "parents": [
        "6f8d49db99f08692dd51faed2a0b3e1e70ce8f77",
        "ecb9f3e9b810c6d59d31e8bdeff6cc174d170792"
      ],
      "author": {
        "name": "Annie Chin",
        "email": "afchin@google.com",
        "time": "Wed Jul 06 23:22:09 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 06 23:22:10 2016 +0000"
      },
      "message": "Merge \"Add callbacks to VoiceInteractionManagerService\" into nyc-mr1-dev"
    },
    {
      "commit": "4e37b7044018153bf294a0e9e834681c46c050d7",
      "tree": "9607f068609ab8a67801bf4ed638b02ae43ef46e",
      "parents": [
        "018a2058246d1f034d25adbd69502e6b2eb81fc7"
      ],
      "author": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Tue Jul 05 11:34:21 2016 +0900"
      },
      "committer": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Wed Jul 06 19:32:01 2016 +0900"
      },
      "message": "[net mgmt svc] add method to retrieve INetd reference\n\nBug: 21859053\nBug: 28135208\nChange-Id: Idfb5ca65788ae8c7aea91f12d9d461686ad836d6\n"
    },
    {
      "commit": "ecb9f3e9b810c6d59d31e8bdeff6cc174d170792",
      "tree": "98f70f4d63ea0cd0ede84e12d5750b6720c6ddd7",
      "parents": [
        "5c6b53223c44b51a2fab2fc7af97893eb6bd596c"
      ],
      "author": {
        "name": "Annie Chin",
        "email": "afchin@google.com",
        "time": "Mon Jun 27 16:01:52 2016 -0700"
      },
      "committer": {
        "name": "Annie Chin",
        "email": "afchin@google.com",
        "time": "Fri Jul 01 13:00:09 2016 -0700"
      },
      "message": "Add callbacks to VoiceInteractionManagerService\n\nBug: 29582254\n\nChange-Id: I548d01bd1c7e261b2d2e0afd606d964e5553124e\n"
    },
    {
      "commit": "8562ab5ab827e9849cf4953e60d586a67aff4e34",
      "tree": "a923ae4048c1c00ba70f758da225ec0aece00c93",
      "parents": [
        "fa7d97fa15700b62b01d0b7dd42fcaf12c57b9f5"
      ],
      "author": {
        "name": "smain@google.com",
        "email": "smain@google.com",
        "time": "Tue Jun 14 17:11:57 2016 -0700"
      },
      "committer": {
        "name": "smain@google.com",
        "email": "smain@google.com",
        "time": "Thu Jun 30 19:08:11 2016 -0700"
      },
      "message": "remove \"referenceonly\" flag from the offline-docs build.\nAdd new offline-docs-referenceonly make rule.\nAnd update online-sdk and offline-sdk to use the new site templates.\n\nChange-Id: I1a9b8e3ff4973a147c6878092ae960a6980cb3d8\n"
    },
    {
      "commit": "fb20170c0fae7ff17573b45c944a844cf1269929",
      "tree": "efd4c8022370b2cfb326ad8251bb6c6bfccdec3f",
      "parents": [
        "82bd5246e70d3561fb4991a1a21bb0d884e3096a",
        "15783f00736899776e749d2ae93140caffa5ec40"
      ],
      "author": {
        "name": "Allen Hair",
        "email": "allenhair@google.com",
        "time": "Tue Jun 28 17:30:21 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jun 28 17:30:21 2016 +0000"
      },
      "message": "Merge \\\"Add a flag to enable instrumentation of the framework classes.\\\" into nyc-dev\nam: 15783f0073\n\nChange-Id: I9439934c0fff5c0e23fe0000252c8781f0540a81\n"
    },
    {
      "commit": "0e4f014c206d549888d899d60c052f5cbbdd83eb",
      "tree": "3365a9632ffe8ab4a967fd59d559123c8ff76ff3",
      "parents": [
        "ec3f8409b84e555f21290372de911ff704406e72"
      ],
      "author": {
        "name": "Allen Hair",
        "email": "allenhair@google.com",
        "time": "Mon Jun 27 17:01:50 2016 -0700"
      },
      "committer": {
        "name": "Allen Hair",
        "email": "allenhair@google.com",
        "time": "Mon Jun 27 17:20:24 2016 -0700"
      },
      "message": "Add a flag to enable instrumentation of the framework classes.\n\nBug: 29777843\nChange-Id: I0f3639ad1303a9b2cc612f99cde427dedff4874f\n"
    },
    {
      "commit": "25e0813e6eb6315b1016db805fa9b791b4ae5cc2",
      "tree": "48d143522b5480f0cbeb3b2e3fbefe91aee0dca0",
      "parents": [
        "f0823858e502d36c01a39afd1fc9384a1fe9a3f7"
      ],
      "author": {
        "name": "Yohei Yukawa",
        "email": "yukawa@google.com",
        "time": "Wed Jun 22 16:31:41 2016 -0700"
      },
      "committer": {
        "name": "Yohei Yukawa",
        "email": "yukawa@google.com",
        "time": "Wed Jun 22 16:31:41 2016 -0700"
      },
      "message": "Add InputMethodService#exposeContent()\n\nThis is a follow up CL to my previous CLs [1][2] that introduced\nInputConnection#commitContent(InputContentInfo, Bundle) API to enable\nIMEs to send a content to the target application.\n\nWith this CL, IME developers are able to temporarily expose\nInputContentInfo object to the target package without permanently\ngranting URI permission.  Although calling IMS#exposeContent() is\nallowed only for the IME that is currently selected, the client is able\nto request a temporary read-only access even after the current IME is\nswitched to any other IME as long as the client keeps InputContentInfo\nobject.\n\nHere is a sample code snippet about how to use this mechanism.\n\n  [IME]\n  InputContentInfo contentInfo \u003d new InputContentInfo(\n          contentUri,\n          new ClipDescription(description, new String[]{mimeType}),\n          linkUrl);\n  exposeContent(contentInfo, getCurrentInputEditorInfo());\n  getCurrentInputConnection().commitContent(inputContentInfo, null);\n\n  [App]\n  try {\n      contentInfo.requestPermission();\n      // Load inputContentInfo.getContentUri() here.\n  } finally {\n      contentInfo.releasePermission();\n  }\n\n [1]: Iaadf934a997ffcd6000a516cc3c1873db56e60ad\n      152944f4909c47917473293b258d266435c6ab35\n [2]: Ica1ba3154795c1bf44e140dfe639b299f83cd8af\n      adebb52588b098a1af678d4e33a234ef1ce783b2\n\nBug: 29450031\nChange-Id: I2772889ca01f2ecb2cdeed4e04a9319bdf7bc5a6\n"
    },
    {
      "commit": "0bae4dcd76d4138ca9ec9d0b0e9960705e54650d",
      "tree": "681a62f8669f9ecbe17ffe90ab6e69eb941ed807",
      "parents": [
        "e73adf38a761c87dbcd08c53da730df2f3942126",
        "d06520a488056e004b3338154f5d8baf7214a66f"
      ],
      "author": {
        "name": "Gina Dimino",
        "email": "gdimino@google.com",
        "time": "Thu Jun 16 21:08:15 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jun 16 21:08:15 2016 +0000"
      },
      "message": "Merge \\\"Docs: Suppress errors in SystemApi Build Bug: 28427390\\\" into nyc-dev\nam: d06520a488\n\nChange-Id: I127501113d4e290a1e8d0b3a44ba779ec36cdc1d\n"
    },
    {
      "commit": "d06520a488056e004b3338154f5d8baf7214a66f",
      "tree": "034de79d9c6734edbb66c5812f6c6e94facb5df1",
      "parents": [
        "5a3a66a253ab5293e75a546f647cfcc36be7c3a5",
        "98ad88811c76f7334c285cc970a4107f7a716b5a"
      ],
      "author": {
        "name": "Gina Dimino",
        "email": "gdimino@google.com",
        "time": "Thu Jun 16 21:02:13 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 16 21:02:14 2016 +0000"
      },
      "message": "Merge \"Docs: Suppress errors in SystemApi Build Bug: 28427390\" into nyc-dev"
    },
    {
      "commit": "f44feb36b00192c3eeea31ed6a890027eb1ca3da",
      "tree": "5405ef181f71179600b8dce032ed4def444bf41f",
      "parents": [
        "d07b87cb1c06ca8bda66cd0d8f1d2a43bb8a46d3",
        "398d0888718e60932d8b3c3072a6d2990896ef20"
      ],
      "author": {
        "name": "Dirk Dougherty",
        "email": "ddougherty@google.com",
        "time": "Wed Jun 15 00:28:07 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jun 15 00:28:07 2016 +0000"
      },
      "message": "Merge \\\"Add API 24 to reference selector.\\\" into nyc-dev\nam: 398d088871\n\nChange-Id: I922cb82b69a13913d83280d1003e292528bdfd88\n"
    },
    {
      "commit": "5f60f7cde60557dbb4d33356b8fe4779af1bc793",
      "tree": "7ae72377e1c5a7eac190cc730573e12b456d0aaf",
      "parents": [
        "39647560d1e3b85f5bc92a9a464ba63b44faad3e"
      ],
      "author": {
        "name": "Dirk Dougherty",
        "email": "ddougherty@google.com",
        "time": "Tue Jun 14 16:26:28 2016 -0700"
      },
      "committer": {
        "name": "Dirk Dougherty",
        "email": "ddougherty@google.com",
        "time": "Tue Jun 14 16:27:32 2016 -0700"
      },
      "message": "Add API 24 to reference selector.\n\nChange-Id: I153245ef814e27bf50f9d972ad1aa34fd92e6b8a\n"
    },
    {
      "commit": "37409c574782d7cc0b877c386c1d45ba83a14925",
      "tree": "016d809cf8602fcdd6b559e6e830af61cbc63580",
      "parents": [
        "f2f7bc04543240bd23707b95b723e85fa85aa037"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Thu Jun 02 13:43:27 2016 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Thu Jun 02 15:21:59 2016 -0700"
      },
      "message": "Add support for UNSOL PCO Data.\n\nPCO is a container in data-call responses with a range\nof optional fields devoted to carrier-proprietary signalling.\nThis change includes a class to contain this opaque info on\nits way to carrier apps.\n\nbug:28961371\nbug:28567303\nChange-Id: Ibfc304800bb3d5b8706d56c08400c1d0b4453a55\n"
    },
    {
      "commit": "98ad88811c76f7334c285cc970a4107f7a716b5a",
      "tree": "48080a3a3474aef9194de3f6ebe953e9c3da676b",
      "parents": [
        "d05a7b5972cb06f711cc8cfa66efa9f0f6d901a5"
      ],
      "author": {
        "name": "Gina Dimino",
        "email": "gdimino@google.com",
        "time": "Tue May 31 17:25:48 2016 -0700"
      },
      "committer": {
        "name": "Gina Dimino",
        "email": "gdimino@google.com",
        "time": "Wed Jun 01 16:13:53 2016 -0700"
      },
      "message": "Docs: Suppress errors in SystemApi Build\nBug: 28427390\n\nChange-Id: Ifea85bf7b1fcdd30a3d7f61bd17d0efba6368aa4\n"
    },
    {
      "commit": "4569e9515c651616f7e24f563b52de98fb4bf258",
      "tree": "bed737806c44d1b75bee2f3dd9de61f933149569",
      "parents": [
        "4b7fd8d6495d063600b52af182d2b12de4773580",
        "c25a9b0104802454487ee6c428f9f070d389c02f"
      ],
      "author": {
        "name": "Dirk Dougherty",
        "email": "ddougherty@google.com",
        "time": "Mon May 02 19:34:34 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon May 02 19:34:34 2016 +0000"
      },
      "message": "Merge \"Pass -yaml to ds builds to generate _book.yaml version of reference TOC.\" into mnc-mr-docs am: 5d8d511264 am: 6049306d8c\nam: c25a9b0104\n\n* commit \u0027c25a9b0104802454487ee6c428f9f070d389c02f\u0027:\n  Pass -yaml to ds builds to generate _book.yaml version of reference TOC.\n\nChange-Id: Ib8ff6165cbcb1d3fb52611e9f5e61ac69a0083b6\n"
    },
    {
      "commit": "c25a9b0104802454487ee6c428f9f070d389c02f",
      "tree": "082f9cb96c163815c24d58487fbac263eac5c4c1",
      "parents": [
        "dea0ed01bfe8a2184f3ed34cf8c0e3310c3bea0a",
        "6049306d8c0f88f78dbc097bfcc971b095c6a9a3"
      ],
      "author": {
        "name": "Dirk Dougherty",
        "email": "ddougherty@google.com",
        "time": "Mon May 02 19:29:22 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon May 02 19:29:22 2016 +0000"
      },
      "message": "Merge \"Pass -yaml to ds builds to generate _book.yaml version of reference TOC.\" into mnc-mr-docs am: 5d8d511264\nam: 6049306d8c\n\n* commit \u00276049306d8c0f88f78dbc097bfcc971b095c6a9a3\u0027:\n  Pass -yaml to ds builds to generate _book.yaml version of reference TOC.\n\nChange-Id: I6b6a65147254b0d2ba5ec6aa52429819ddca9b77\n"
    },
    {
      "commit": "dfa366dccff679530c0138ec6d0d6944273b1dda",
      "tree": "2efe84b6331364b6ece019512886ea469e6c6838",
      "parents": [
        "8d21a984a65884698d3b91f91b07f3391ec28f6d"
      ],
      "author": {
        "name": "Dirk Dougherty",
        "email": "ddougherty@google.com",
        "time": "Fri Apr 29 18:06:11 2016 -0700"
      },
      "committer": {
        "name": "Dirk Dougherty",
        "email": "ddougherty@google.com",
        "time": "Fri Apr 29 18:06:11 2016 -0700"
      },
      "message": "Pass -yaml to ds builds to generate _book.yaml version of reference TOC.\n\nChange-Id: I1eced1670eb9d7892672b59f3b92833448b9949a\n"
    },
    {
      "commit": "d19191d4dcdefeebe0409d65740ee006c9e8a6a2",
      "tree": "0c7fc7723403e921b500bf93695eeafd9ebd135e",
      "parents": [
        "1d3c59457c9bcf30e6ecb898e64d9d9725e7803e",
        "d55def89244f9c7be69559e48300734d3966e712"
      ],
      "author": {
        "name": "Martijn Coenen",
        "email": "maco@google.com",
        "time": "Thu Apr 28 05:34:03 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 28 05:34:05 2016 +0000"
      },
      "message": "Merge \"Fix API review comments, add remove callback.\" into nyc-dev"
    },
    {
      "commit": "d9036ba7ef9905959dc031397bbf75b6f5968eb9",
      "tree": "c9a0d813f93f0ca6b1bc4ee39f323e9f8a588aed",
      "parents": [
        "6f8a10bd14d927f9603823c06a3e53f56392ba95",
        "0d00d287a54ca79272899408800927cf563bd71a"
      ],
      "author": {
        "name": "Dirk Dougherty",
        "email": "ddougherty@google.com",
        "time": "Tue Apr 26 23:54:24 2016 -0700"
      },
      "committer": {
        "name": "Dirk Dougherty",
        "email": "ddougherty@google.com",
        "time": "Wed Apr 27 10:44:43 2016 -0700"
      },
      "message": "resolve merge conflicts of 0d00d28 to nyc-dev\n\nChange-Id: Ib922635fe200a4216ce2970660daf3105d521cc9\n"
    },
    {
      "commit": "f71d7feef22db9e0cab2f32edc7440aedb86fdfe",
      "tree": "518e0a0e00d16c48d386d89cff0c5588719b9aab",
      "parents": [
        "83ca62bdbe00359a1cf574efc5abfb19c5f57337",
        "53a441ca8eda5a3e6209a952b1bbd32a39e19a1c"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Tue Apr 26 18:36:26 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 26 18:36:28 2016 +0000"
      },
      "message": "Merge \"Ensure local settings caches are not stale\" into nyc-dev"
    },
    {
      "commit": "53a441ca8eda5a3e6209a952b1bbd32a39e19a1c",
      "tree": "a2ba745db7de9a74135bb7fd9fa971dff6f33f6b",
      "parents": [
        "5a91b615232374084a45752d7c09c25265e263ed"
      ],
      "author": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Tue Apr 19 19:38:00 2016 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Tue Apr 26 11:31:55 2016 -0700"
      },
      "message": "Ensure local settings caches are not stale\n\nWe used the system proterties as a shared memory mechanism\nto propagate information to local settings caches when the\ncontent has changed and the cache should be cleared. The\nsystem properties are unfortunately updated asynchronously\nleading to cases where clients may read stale data.\n\nThis change adds a simple int array data structure backed\nby shared memory which guarantees individual values are\natomically read and updated without memory tear. Multi-\nindex opearations are not synchronized between each other.\n\nThe settings provider is using the new data structure to\npropagate the settings generation which drives when caches\nare purged.\n\nWe have a single memory array keeping the generation for\ndifferent settings tables per user. Since memory array is\nnot a compact data structure and the user space exceeds\nthe memory array size we use an in-memory map from keys\nto indices in the memory array where the generation id of\na key is stored. A key is derived by the setting type in\nthe 4 most significant bits and the user id in the 28 least\nsignificant bits.\n\nThe mapping from a key to an index is cleared if the user is\nremoved and the corresponding index in the memory arry is\nreset to make it available for other users. The size of the\nmemory array is derived from the max user count that can be\ncreated at the same time.\n\nbug:18826179\n\nChange-Id: I64009cc5105309ef9aa83aba90b82afc8ad8c659\n"
    },
    {
      "commit": "0d00d287a54ca79272899408800927cf563bd71a",
      "tree": "5970fe574c5fd75f9136c075a9b1cff7d58842ee",
      "parents": [
        "80b5d84dcd816d7a132ee20dbc98677ff818c35f",
        "eeee5e2ec980f67b92597b7f5d8828593b3692aa"
      ],
      "author": {
        "name": "Dirk Dougherty",
        "email": "ddougherty@google.com",
        "time": "Tue Apr 26 08:51:53 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Apr 26 08:51:53 2016 +0000"
      },
      "message": "Merge \"Adjust root path for translated content dirs on devsite builds.\" into mnc-mr-docs am: face65fe16\nam: eeee5e2\n\n* commit \u0027eeee5e2ec980f67b92597b7f5d8828593b3692aa\u0027:\n  Adjust root path for translated content dirs on devsite builds.\n\nChange-Id: Id3d33d84e7127bc8cab0cdd4ccbc3505bfb2c824\n"
    },
    {
      "commit": "ae0e03a9e03de34e37b768b971d7596d7220a053",
      "tree": "56957d85cd725935a98f48eb49fb4b3ab074a46a",
      "parents": [
        "5a91b615232374084a45752d7c09c25265e263ed"
      ],
      "author": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Thu Feb 25 18:22:10 2016 -0800"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri Apr 22 14:18:32 2016 -0700"
      },
      "message": "Cleanup of the PackageInstaller API - Frameworks\n\nThe PackageInstaller app manages side-loading apps as well\nas permission management. It should be updatable, hence\nshould rely on system APIs to talk to the platform. This\nis the first step of defining an API boundary.\n\nChange-Id: I9814eafd0b22ae03b4b847a7007cdbf14c9e5466\n"
    },
    {
      "commit": "b5b86c11008422ac4bf5af5fed736f04ebbaa858",
      "tree": "c7c0164182fb0672f82d83dbd4d64f70da2015e5",
      "parents": [
        "cffe389a22cf3f3d63ec37a591b0d6226e1db99e"
      ],
      "author": {
        "name": "Sujith Ramakrishnan",
        "email": "sujithrk@google.com",
        "time": "Thu Jan 28 16:53:16 2016 -0800"
      },
      "committer": {
        "name": "Sujith Ramakrishnan",
        "email": "sujithrk@google.com",
        "time": "Fri Apr 22 12:21:34 2016 -0700"
      },
      "message": "Unbundle RemoteService on TV - part 3\n\n- New service TVRemoteService triggered by SystemServer\n- Provider service proxy and watcher for maintaining connections to unbundled\n  services which have the BIND_TV_REMOTE_SERVICE permission.\n- Shared library to facilitate connections between unbundled service and\n  TVRemoteService.\n- Unbundled service needs TV_VIRTUAL_REMOTE_CONTROLLER\n  permission to be fully functional.\n\nb/23792608\n\nChange-Id: Ief5c6995883d1f7268a73bdd0c920c4c3f42cddb\n"
    },
    {
      "commit": "729c640cc887da9fe7a1b57121167a7bf83fee97",
      "tree": "4d7922aaf61571bd74315515b3b3722d301d3ff1",
      "parents": [
        "44157a4abf36250f259eca4cdaa346be15d47738",
        "377c32845bffaf68d5751d8cdf6fd60b8b3f5dc3"
      ],
      "author": {
        "name": "Vladislav Kaznacheev",
        "email": "kaznacheev@google.com",
        "time": "Thu Apr 21 21:34:24 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 21 21:34:26 2016 +0000"
      },
      "message": "Merge \"Rename DropPermissions to DragAndDropPermissions\" into nyc-dev"
    },
    {
      "commit": "377c32845bffaf68d5751d8cdf6fd60b8b3f5dc3",
      "tree": "f6f2b76d22b55029a818c64c5e87037190bc60de",
      "parents": [
        "651e09fdc1b4c26dc7661e1ab127276656ece041"
      ],
      "author": {
        "name": "Vladislav Kaznacheev",
        "email": "kaznacheev@google.com",
        "time": "Wed Apr 20 14:22:23 2016 -0700"
      },
      "committer": {
        "name": "Vladislav Kaznacheev",
        "email": "kaznacheev@google.com",
        "time": "Wed Apr 20 14:22:23 2016 -0700"
      },
      "message": "Rename DropPermissions to DragAndDropPermissions\n\nBug: 28296057\nChange-Id: Ic95cb4ae9c351d903df78628e983dec2bacd0ad5\n"
    },
    {
      "commit": "c6184685d8f9b08abf73f83778ca129bb5c9c51d",
      "tree": "17e40216ff8342bd889dcd6bdfdd2f70cb94faba",
      "parents": [
        "0e81694a02f3405aeec3205372e8fe6e3ed7c0c3",
        "106069412da3edd7de44f616a4f876d7102dcb45"
      ],
      "author": {
        "name": "Robin Lee",
        "email": "rgl@google.com",
        "time": "Tue Apr 19 19:19:42 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 19 19:19:43 2016 +0000"
      },
      "message": "Merge \"Move UidRange aidl declaration to system/netd\" into nyc-dev"
    },
    {
      "commit": "106069412da3edd7de44f616a4f876d7102dcb45",
      "tree": "c3fc67fe5069bd92d2ee4d129f19e550e4cb84cf",
      "parents": [
        "bae147f174116dab43d7fb50179a9c8b213c6089"
      ],
      "author": {
        "name": "Robin Lee",
        "email": "rgl@google.com",
        "time": "Wed Mar 30 18:52:40 2016 +0100"
      },
      "committer": {
        "name": "Robin Lee",
        "email": "rgl@google.com",
        "time": "Mon Apr 18 15:26:47 2016 +0100"
      },
      "message": "Move UidRange aidl declaration to system/netd\n\nWhich owns the native UidRange.cpp, so it makes more sense for the\ndeclaration to live there since frameworks/base depends on netd but not\nvice versa.\n\nBug: 26694104\nChange-Id: I0efda77713ee6f0ec8070fb0e09a694b95f6cd25\n"
    },
    {
      "commit": "d55def89244f9c7be69559e48300734d3966e712",
      "tree": "54afd7adbaecf95d098ff53135b1b51e4ade3d72",
      "parents": [
        "46dc79cecf2daf1a0e1ec392c56fcb4f7c7a8eaf"
      ],
      "author": {
        "name": "Martijn Coenen",
        "email": "maco@google.com",
        "time": "Thu Apr 14 15:19:31 2016 +0200"
      },
      "committer": {
        "name": "Martijn Coenen",
        "email": "maco@google.com",
        "time": "Fri Apr 15 22:14:07 2016 +0200"
      },
      "message": "Fix API review comments, add remove callback.\n\nBug: 28148561\nBug: 26426491\nChange-Id: I5917ea5d8fe0d3195b407643ec271ab4eb8b30b7\n"
    },
    {
      "commit": "0a97f22e068aeffd7384f64d26ab922b6d15670f",
      "tree": "30ad92880406c1b60f2a0cead8f5650f13cdc51c",
      "parents": [
        "7596e9cdff0fda7d675ff31eef7225b38f316fa6",
        "0fb0731358b5c16bf6a5617a25b30122ec1258e2"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Apr 14 00:52:35 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 14 00:52:36 2016 +0000"
      },
      "message": "Merge \"Delete ITelephonyDebug and ITelephonyDebugSubscriber\" into nyc-dev"
    },
    {
      "commit": "3852c1fd01c4b2224f07a4d6f64aff86612879be",
      "tree": "fae4572f32a90d0d654765d1678b46bc32135a42",
      "parents": [
        "1452c87b1acf496abe5ce8f90177ce635f955e16"
      ],
      "author": {
        "name": "Dirk Dougherty",
        "email": "ddougherty@google.com",
        "time": "Sun Apr 10 02:05:09 2016 -0700"
      },
      "committer": {
        "name": "Dirk Dougherty",
        "email": "ddougherty@google.com",
        "time": "Sun Apr 10 02:07:35 2016 -0700"
      },
      "message": "Adjust root path for translated content dirs on devsite builds.\n\nChange-Id: I26e8cfcc60c113574a2807bf6fff7913c7d3823d\n"
    },
    {
      "commit": "c7be3beced4ade05466a4a77c003ea81c2429f74",
      "tree": "b3567e375b071b9662661d4cf9ca141228763c7f",
      "parents": [
        "ca94f29366b9b6e3211351c2d098060114ef5fa8"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Fri Apr 01 17:07:51 2016 -0700"
      },
      "committer": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Wed Apr 06 12:29:40 2016 -0700"
      },
      "message": "Add VrManager AIDL interface for use by system apps.\n\nBug: 27884853\nChange-Id: I6de0d291deafe5003070d60866c60d6599312e79\n"
    },
    {
      "commit": "a5060ee80dbb48bd7fc545d2aeeeb657b79893ea",
      "tree": "842bb82e198dccade4bfb3ceafcc01f96083cd34",
      "parents": [
        "ebf3261aa6d80ad4ca1df0fd0509961ff7a1914e",
        "9577d31b10aa654d3ba63947e7733945a358395e"
      ],
      "author": {
        "name": "Trevor Johns",
        "email": "trevorjohns@google.com",
        "time": "Tue Apr 05 19:43:35 2016 -0700"
      },
      "committer": {
        "name": "Trevor Johns",
        "email": "trevorjohns@google.com",
        "time": "Tue Apr 05 20:32:07 2016 -0700"
      },
      "message": "Merge branch \u0027mnc-mr-docs\u0027 into mnc-ub-dev\n\nLarge merge to reconnect automerger for docs branch to mainline.\n\n Conflicts:\n\tdocs/html-intl/intl/es/index.jd\n\tdocs/html-intl/intl/es/preview/download.jd\n\tdocs/html-intl/intl/es/preview/index.jd\n\tdocs/html-intl/intl/ja/index.jd\n\tdocs/html-intl/intl/ja/preview/download.jd\n\tdocs/html-intl/intl/ja/preview/index.jd\n\tdocs/html-intl/intl/ko/index.jd\n\tdocs/html-intl/intl/ko/preview/download.jd\n\tdocs/html-intl/intl/ko/preview/index.jd\n\tdocs/html-intl/intl/pt-br/index.jd\n\tdocs/html-intl/intl/pt-br/preview/download.jd\n\tdocs/html-intl/intl/pt-br/preview/index.jd\n\tdocs/html-intl/intl/ru/index.jd\n\tdocs/html-intl/intl/ru/preview/download.jd\n\tdocs/html-intl/intl/ru/preview/index.jd\n\tdocs/html-intl/intl/zh-cn/index.jd\n\tdocs/html-intl/intl/zh-cn/preview/download.jd\n\tdocs/html-intl/intl/zh-cn/preview/index.jd\n\tdocs/html-intl/intl/zh-tw/index.jd\n\tdocs/html-intl/intl/zh-tw/preview/download.jd\n\tdocs/html-intl/intl/zh-tw/preview/index.jd\n\tdocs/html/guide/topics/manifest/compatible-screens-element.jd\n\tdocs/html/guide/topics/manifest/uses-feature-element.jd\n\tdocs/html/preview/download.jd\n\tdocs/html/preview/features/runtime-permissions.jd\n\tdocs/html/sdk/index.jd\n\tdocs/html/tools/revisions/studio.jd\n\tdocs/html/tools/sdk/eclipse-adt.jd\n\tdocs/html/tools/support-library/features.jd\n\ttelephony/java/android/telephony/TelephonyManager.java\n\nBug: 28000173\nChange-Id: Iacab0481175f1b32e0ac3bab98cde9e994100e94\n"
    },
    {
      "commit": "0fb0731358b5c16bf6a5617a25b30122ec1258e2",
      "tree": "e65a2bb9ce6f97de23f289b224ad560a130f3672",
      "parents": [
        "07a0e79aa4df64abd5b2c70eabd98a2e6ce8b341"
      ],
      "author": {
        "name": "Pavel Zhamaitsiak",
        "email": "pavelz@google.com",
        "time": "Tue Apr 05 16:18:03 2016 -0700"
      },
      "committer": {
        "name": "Pavel Zhamaitsiak",
        "email": "pavelz@google.com",
        "time": "Tue Apr 05 16:18:03 2016 -0700"
      },
      "message": "Delete ITelephonyDebug and ITelephonyDebugSubscriber\n\nBug: 28026463\nChange-Id: Iee9010dd7352bafcffb5718293f8d71f2fd98ea9\n"
    },
    {
      "commit": "ce13079ab3b49e315765a41d96ffab5fa6fb1b67",
      "tree": "c3ba43533ff2c2a40f2cad9ae8da9d6ff45e627f",
      "parents": [
        "31da1779e70b9a39c16d2bcc2c3cbb34785cb13b",
        "20ebbb3349cdf72d7d28c870849e532f227c74b4"
      ],
      "author": {
        "name": "Pavel Zhamaitsiak",
        "email": "pavelz@google.com",
        "time": "Mon Apr 04 17:42:05 2016 -0700"
      },
      "committer": {
        "name": "Pavel Zhamaitsiak",
        "email": "pavelz@google.com",
        "time": "Mon Apr 04 17:42:05 2016 -0700"
      },
      "message": "resolve merge conflicts of 20ebbb3 to nyc-dev\n\nChange-Id: I31d76a02456b3f09a6bdac11c6dbc5e913f5f7df\n"
    },
    {
      "commit": "20ebbb3349cdf72d7d28c870849e532f227c74b4",
      "tree": "8de937b6e59dd7385dbc44555d6d0647467607fc",
      "parents": [
        "499a8da1daa82f29eecd59f99721a1cdd52db716",
        "d1cb256b3efd2c00f1c44541b5589c2ea17b3cb8"
      ],
      "author": {
        "name": "Pavel Zhamaitsiak",
        "email": "pavelz@google.com",
        "time": "Tue Apr 05 00:13:18 2016 +0000"
      },
      "committer": {
        "name": "Android Partner Code Review",
        "email": "android-gerrit-partner@google.com",
        "time": "Tue Apr 05 00:13:18 2016 +0000"
      },
      "message": "Merge \"ConnectivityMetricsLogger: Switch to \"pull\" model\" into mm-wireless-dev"
    },
    {
      "commit": "d1cb256b3efd2c00f1c44541b5589c2ea17b3cb8",
      "tree": "43c4cfe442adb2c623bf19508b7051faa7f1710d",
      "parents": [
        "3d09db6f7a181b26e2541b90b379d68ab0f8ed32"
      ],
      "author": {
        "name": "Pavel Zhamaitsiak",
        "email": "pavelz@google.com",
        "time": "Thu Mar 31 18:43:14 2016 -0700"
      },
      "committer": {
        "name": "Pavel Zhamaitsiak",
        "email": "pavelz@google.com",
        "time": "Thu Mar 31 18:43:14 2016 -0700"
      },
      "message": "ConnectivityMetricsLogger: Switch to \"pull\" model\n\nIf subscriber is in external app, its process can be killed. This would\nlead to loss of events. To avoid that, we will be storing events in the\nlogger service. Clients can periodically pull data from it.\n\nAnother option for client apps is to register PendingIntent which will be\nsent when certain number of new events has been received.\n\nIf events are logged at unexpectedly high rate from particular component,\nthen throttling mechanism will activate and new events will be blocked for\nsome time from that component.\n\nChange-Id: I710409626eb5a42bcd3fe8126eac6b756fa1ab8b\n"
    },
    {
      "commit": "9dcb86a48d73f399fb1b5c020005d76d350eeac2",
      "tree": "710838ed3fd0c566be95dc52367cbc979dc9dbb5",
      "parents": [
        "394d3dfb2d9ccd2ca2fd7aad06ef2e9a8458a0c7"
      ],
      "author": {
        "name": "Philip P. Moltmann",
        "email": "moltmann@google.com",
        "time": "Mon Mar 14 14:31:12 2016 -0700"
      },
      "committer": {
        "name": "Philip P. Moltmann",
        "email": "moltmann@google.com",
        "time": "Wed Mar 30 17:21:07 2016 -0700"
      },
      "message": "Add the print service recommendation service\n\nThis service connects through the print manager to the print spooler:\n\nPrintSpooler.AddPrintersActivity \u003c-\u003e PrintManager \u003c-\u003e PrintManagerService \u003c-\u003e UserState \u003c-\u003e RemotePrintServiceRecommendationService \u003c-\u003e PrintRecommendationService \u003c-\u003e PrintRecommendationServiceImpl\n\nHence there is a lot of mindless plumming.\n\nThe actual changes are only in the AddPrintersActivity which is extended\nto show another list of services: The recommended services.\n\nThe PrintServiceRecommendationService is based on the experimenal print\nservice stubs provider. This provider was contributed the Android by\nMopria. As this services uses Android own network discovery service most\ncode from the experimental provider goes away. In fact the only logic\nleft over is the selections of mdns-txt fields to look at and the\nprinter vendor configuration.\n\nThis relies on the Android MDNS to get fixed (Bug: 27696905). This also\ndoes not deal with how to update the recommendation service.\n\nBug: 24533249\nChange-Id: I6edc6e25fc08a50d478b61c71bb8ea158b08624c\n"
    },
    {
      "commit": "0caf007b3f0b4cd21be285820c270c51a8e502b7",
      "tree": "2ec509f4f536c3dbfb11892216a70964d6fd0ad7",
      "parents": [
        "d964a9f4d7ca2a7fd2d044cad9e2d67ee0b1dab9",
        "4eb64fdbcf899a81d0a6a04dc3658d03d9df8247"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Mon Mar 28 20:52:38 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 28 20:52:39 2016 +0000"
      },
      "message": "Merge \"Refactor ProcessStats.\" into nyc-dev"
    },
    {
      "commit": "bd91e2f3f6aca512a02be645b2515b5e3331e177",
      "tree": "490fcef8a5acef7571dc72e3707abbf9c43abd35",
      "parents": [
        "40e1135ea2780fefecf532fb7a1cc43e26bcecc2"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Mar 22 15:32:31 2016 -0600"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Sun Mar 27 10:56:48 2016 -0600"
      },
      "message": "Update PRE_BOOT_COMPLETED for FBE.\n\nNow that CE data isn\u0027t available until after a user is unlocked, we\nneed to delay the PRE_BOOT_COMPLETED broadcasts.  This is done by\nadding a new RUNNING_UNLOCKING user state to the UserController\nlifecycle.\n\nWe now track the last fingerprint a user was logged in under, and we\ndispatch PRE_BOOT receivers when that fingerprint changes.  To work\naround battery pull issues, we only persist the updated fingerprint\nonce all PRE_BOOT receivers have finished.  This is less granular\nthan the original solution, but it\u0027s still correct.  We only consider\na user as \"logged in\" once it transitions into the RUNNING_UNLOCKED\nstate.\n\nWhen starting a process, track if the user was \"unlocked\" when\nstarted, so that we only spin up unaware providers in processes\nstarted before user unlock.\n\nAdd generic IProgressListener to communicate PRE_BOOT progress and\nstrings up to lock screen.  For now, LockSettingsService just blocks\nuntil finished, but it could display these strings in the future.\n\nBug: 27220885\nChange-Id: I349439776b885acd32f6a578d8951ffd95640be2\n"
    },
    {
      "commit": "4eb64fdbcf899a81d0a6a04dc3658d03d9df8247",
      "tree": "a541bfa3af54accd887d03dc075d0c6547d04567",
      "parents": [
        "13460a6cba25b99c405d00bb40939958df332f3f"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Mon Mar 21 15:30:09 2016 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Thu Mar 24 15:55:31 2016 -0700"
      },
      "message": "Refactor ProcessStats.\n\n- Pull most of the inner classes out into their own files.\n- Move everything to a new android.app.procstats package.\n- Move all of the code that was manipulating the big list\n  of longs to use the new SparseMappingTable class rather\n  than doing everything by hand. The logic is unchanged.\n- Add a sequence number check to SparseMappingTable so\n  when the big list of longs and the individual tables are\n  reset, which happens somewhat independently, we can\n  assert when one of them doesn\u0027t get reset.\n"
    },
    {
      "commit": "1dd114e5ab9ea6d9fee905a4700103b7584b9596",
      "tree": "17af29e83e36291ea8021fc1a30aeac1cdb77efe",
      "parents": [
        "a1b13556331136e5e79d0fe545c8bfbb7a394fce",
        "f7b6dad01591c31804d2a6e14be24a1978e379a0"
      ],
      "author": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Tue Mar 22 23:05:37 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 22 23:05:39 2016 +0000"
      },
      "message": "Merge \"switch offline docs back to standard templates that now have a condition for \u0027referenceonly\u0027 bug: 27667787\" into nyc-dev"
    },
    {
      "commit": "f7b6dad01591c31804d2a6e14be24a1978e379a0",
      "tree": "9c23dd685af096a17dc58da3492c9104cb60edeb",
      "parents": [
        "8fc9cc441984e934d4ac1f12b80487320c5a76c2"
      ],
      "author": {
        "name": "smain@google.com",
        "email": "smain@google.com",
        "time": "Tue Mar 22 14:17:55 2016 -0700"
      },
      "committer": {
        "name": "smain@google.com",
        "email": "smain@google.com",
        "time": "Tue Mar 22 14:20:25 2016 -0700"
      },
      "message": "switch offline docs back to standard templates that now have a condition for \u0027referenceonly\u0027\nbug: 27667787\n\nChange-Id: Iaedba58c72634dac33ef09b9a50322af664ef581\n"
    },
    {
      "commit": "7ed3044ed1c4777650d38775a5f26cb3396fab09",
      "tree": "e93693a619492f0bc49336e0b110dcd3084bb0f2",
      "parents": [
        "b9df11099f16ca816a69e06f1327eb1f86723578"
      ],
      "author": {
        "name": "Dheeraj Shetty",
        "email": "dshetty@codeaurora.org",
        "time": "Thu Mar 17 10:15:00 2016 -0700"
      },
      "committer": {
        "name": "Pavel Zhamaitsiak",
        "email": "pavelz@google.com",
        "time": "Sat Mar 19 00:22:59 2016 +0000"
      },
      "message": "ims:rcs: Add UCE interface files for RCS. [DO NOT MERGE]\n\nChange-Id: I2ce9e60240740acfe70c4a239163fbdbedbd96e0\n"
    },
    {
      "commit": "cfedd20d54687449bb6a6982085003cbf9a22bcb",
      "tree": "66f2bf261176184d482fed5747b225473b5d04e3",
      "parents": [
        "d037ef95e8b9a62cdbb415b0dfe6c02945487347"
      ],
      "author": {
        "name": "Pavel Zhamaitsiak",
        "email": "pavelz@google.com",
        "time": "Fri Mar 18 16:09:50 2016 -0700"
      },
      "committer": {
        "name": "Pavel Zhamaitsiak",
        "email": "pavelz@google.com",
        "time": "Fri Mar 18 16:09:50 2016 -0700"
      },
      "message": "ims:rcs: Add UCE interface files for RCS.\n\nBug: 23222011\nChange-Id: I2ce9e60240740acfe70c4a239163fbdbedbd96e0\n"
    },
    {
      "commit": "6235a94ffaed1d82cee2317481c18776f601da1b",
      "tree": "09354e63b4eacce6f60013ea9e824e904c25b732",
      "parents": [
        "54f264fcdb74f585d43a77159b28a11d2e77bf88"
      ],
      "author": {
        "name": "Michal Karpinski",
        "email": "mkarpinski@google.com",
        "time": "Tue Mar 15 12:07:23 2016 +0000"
      },
      "committer": {
        "name": "Rubin Xu",
        "email": "rubinxu@google.com",
        "time": "Wed Mar 16 14:32:09 2016 +0000"
      },
      "message": "Unifying method names and comments to security logging, not device logging\n\nAlso move SecurityLog to android.app.admin package.\n\nBug: 27531824\nBug: 27532560\nBug: 27532564\nBug: 27532425\nChange-Id: I2677afdb5685bc5d21e52c41b381b57a41e364b6\n"
    },
    {
      "commit": "d91859d2460c45943568a98dab1950d53a4af608",
      "tree": "762c37ef90f803aacc8f1fd27b62a8bf5333c14a",
      "parents": [
        "ff29237e895188e99106899806613aaa01656fdd",
        "cfa8a6469463ace9c3336e3686d950792a2c7ad4"
      ],
      "author": {
        "name": "Joseph Pirozzo",
        "email": "pirozzoj@google.com",
        "time": "Tue Mar 15 23:21:10 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 15 23:21:12 2016 +0000"
      },
      "message": "Merge \"Add BluetoothProfile for PBAP PCE role.\" into nyc-dev"
    },
    {
      "commit": "cfa8a6469463ace9c3336e3686d950792a2c7ad4",
      "tree": "b68b50ae2b47d28c5b52d9886ee49b76f4e3e6fb",
      "parents": [
        "329484bb7e31e3b0574cd25186a9d6a840f39781"
      ],
      "author": {
        "name": "Joseph Pirozzo",
        "email": "pirozzoj@google.com",
        "time": "Fri Mar 04 13:02:54 2016 -0800"
      },
      "committer": {
        "name": "Joseph Pirozzo",
        "email": "pirozzoj@google.com",
        "time": "Mon Mar 14 17:02:16 2016 -0700"
      },
      "message": "Add BluetoothProfile for PBAP PCE role.\n\nCreate a new Bluetooth profile for Pbap Client.\n\nBug: 27490041\nChange-Id: I77d2c7eeeb8e955ea61386d784b02b14f415b318\n"
    },
    {
      "commit": "f8de70c7b7855cad84fd3565eb29bd9c49bb0bc3",
      "tree": "2767cfc15021951d6ac0c12d6c578e45927a465e",
      "parents": [
        "7020aa66bf7aac6b2e834447332763fc6c1a62eb",
        "f604fc33c699b9f91315588ea4d6c6cd3b09a372"
      ],
      "author": {
        "name": "Tyler Gunn",
        "email": "tgunn@google.com",
        "time": "Mon Mar 14 17:48:09 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 14 17:48:11 2016 +0000"
      },
      "message": "Merge \"IMS: Changes for MultiEndpoint\" into nyc-dev"
    },
    {
      "commit": "f604fc33c699b9f91315588ea4d6c6cd3b09a372",
      "tree": "e8740d90cb937f3e59139f2974c675fccc2a05ee",
      "parents": [
        "f52ebd119e76187366e9f9d0f388fbdef46a33c8"
      ],
      "author": {
        "name": "Anju Mathapati",
        "email": "anjucm@codeaurora.org",
        "time": "Thu Mar 10 12:57:21 2016 -0800"
      },
      "committer": {
        "name": "Tyler Gunn",
        "email": "tgunn@google.com",
        "time": "Fri Mar 11 16:08:06 2016 -0800"
      },
      "message": "IMS: Changes for MultiEndpoint\n\n- Interface changes for MultiEndpoint\n\n- Extra for CallPull in -\n  - TelephonyProperties\n  - ImsProfile\n- Error codes in ImsReasonInfo\n\nChange-Id: I9a497cf04a412dc9d2f80b489e3455d289c3dfb7\n"
    },
    {
      "commit": "093889409b011b9ace3c188c311e3d63583038cd",
      "tree": "c0f345ad2130b6170ae1ce58c5977f1e0a0ed60a",
      "parents": [
        "f7a410f5999647a9563aed90c8e7961532a1875c",
        "89f385d5375ba3bdcd71f90743387b3e89cff8b5"
      ],
      "author": {
        "name": "Joe Fernandez",
        "email": "joefernandez@google.com",
        "time": "Fri Mar 11 04:50:17 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 11 04:50:19 2016 +0000"
      },
      "message": "Merge \"docs: Fix reference docs build to indicate N changes\" into nyc-dev"
    },
    {
      "commit": "269aa4ebc492866b3ed64689c5c28366eada7820",
      "tree": "3804e2a6e44f81589d3d3c7bd2432f0e6e91b6dd",
      "parents": [
        "9334f5ed12c3911f22fc7a531384c0ad015125d3"
      ],
      "author": {
        "name": "smain@google.com",
        "email": "smain@google.com",
        "time": "Thu Mar 10 15:37:58 2016 -0800"
      },
      "committer": {
        "name": "smain@google.com",
        "email": "smain@google.com",
        "time": "Thu Mar 10 15:37:58 2016 -0800"
      },
      "message": "fix the docs preview version number\n\nChange-Id: I8c8a8fb6bd431eade40e62a6b135b628811c0558\n"
    },
    {
      "commit": "9334f5ed12c3911f22fc7a531384c0ad015125d3",
      "tree": "b40733481bfe3e08163dbc4717b56127a2da0054",
      "parents": [
        "7aca8beaa8c7b4fe72bcd35248e28e2f378c4647"
      ],
      "author": {
        "name": "smain@google.com",
        "email": "smain@google.com",
        "time": "Thu Mar 10 15:13:28 2016 -0800"
      },
      "committer": {
        "name": "smain@google.com",
        "email": "smain@google.com",
        "time": "Thu Mar 10 15:13:28 2016 -0800"
      },
      "message": "update preview version number to 2 for offline docs\n\nChange-Id: I56cab8d21f9521fab17ec79a441c518cf9da536c\n"
    },
    {
      "commit": "7aca8beaa8c7b4fe72bcd35248e28e2f378c4647",
      "tree": "2e32ef9b1d987e9337ca1e22a4a0a0d69bdbd7f2",
      "parents": [
        "278fb0deb20a0ba1b4bafffb72ef2859ddce8974"
      ],
      "author": {
        "name": "smain@google.com",
        "email": "smain@google.com",
        "time": "Thu Mar 10 14:13:30 2016 -0800"
      },
      "committer": {
        "name": "smain@google.com",
        "email": "smain@google.com",
        "time": "Thu Mar 10 15:01:36 2016 -0800"
      },
      "message": "make new \u0027referenceonly\u0027 docs build the default for offline docs.\nadd preview codename and version number HDF variables for generated docs.\n\nChange-Id: I165526f4e575ec8885bab906e66d17666ea8b4ba\n"
    },
    {
      "commit": "278fb0deb20a0ba1b4bafffb72ef2859ddce8974",
      "tree": "339532dd443de97ee30c333538db42c1e0cf0655",
      "parents": [
        "b907ff764a323906fef199229e31897447c90388"
      ],
      "author": {
        "name": "smain@google.com",
        "email": "smain@google.com",
        "time": "Wed Mar 09 14:16:07 2016 -0800"
      },
      "committer": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Thu Mar 10 18:07:38 2016 +0000"
      },
      "message": "udpate refonly doc build to include new landing page for dev preview.\n\nChange-Id: I088425ed1549dd3bae6a5a755884eb4c3cb0af4f\n(cherry picked from commit aa6aa2929c546289c873b3d019de4616c2ddc620)\n"
    },
    {
      "commit": "00de8c5d7a16d8b0c61badba1188e4b8e087ef67",
      "tree": "f616af906bbce85a364cc124ecc9b6ff5759941b",
      "parents": [
        "6b432fa255db0a24388a0698cfe3e01190a4f2ce"
      ],
      "author": {
        "name": "smain@google.com",
        "email": "smain@google.com",
        "time": "Mon Mar 07 18:38:08 2016 -0800"
      },
      "committer": {
        "name": "smain@google.com",
        "email": "smain@google.com",
        "time": "Wed Mar 09 16:57:56 2016 -0800"
      },
      "message": "cherrypick I4e1ca9fddc6374fd80108e4f9a3b9745f8598507\nadd new make target for offline docs with only the API reference.\nAlso update the default index.html landing page to redirect to the reference.\n\nChange-Id: I2a123e49e2d6bb365bd81383ca3a9fc8e03de034\n"
    },
    {
      "commit": "aa6aa2929c546289c873b3d019de4616c2ddc620",
      "tree": "03a73656d9e188b40f964dd818bc8622939fe0f7",
      "parents": [
        "e3d651f83717c29c3815c4cd2f7c2384889dca44"
      ],
      "author": {
        "name": "smain@google.com",
        "email": "smain@google.com",
        "time": "Wed Mar 09 14:16:07 2016 -0800"
      },
      "committer": {
        "name": "smain@google.com",
        "email": "smain@google.com",
        "time": "Wed Mar 09 15:35:15 2016 -0800"
      },
      "message": "udpate refonly doc build to include new landing page for dev preview.\n\nChange-Id: I088425ed1549dd3bae6a5a755884eb4c3cb0af4f\n"
    },
    {
      "commit": "89f385d5375ba3bdcd71f90743387b3e89cff8b5",
      "tree": "bf526a6ad136282a702ca6642ede11acffe3d99d",
      "parents": [
        "dd9d215c2c552a1c06f5a0e81f922b31f9503eec"
      ],
      "author": {
        "name": "Joe Fernandez",
        "email": "joefernandez@google.com",
        "time": "Tue Mar 08 21:22:11 2016 -0800"
      },
      "committer": {
        "name": "Joe Fernandez",
        "email": "joefernandez@google.com",
        "time": "Wed Mar 09 15:28:34 2016 +0000"
      },
      "message": "docs: Fix reference docs build to indicate N changes\n\nChange-Id: I4cd64a0452e97aa87a86fffd1c9f9ba3d99eb5c3\n(cherry picked from commit f6c304579d673135e0df23f887aa068fb91db0f3)\n"
    },
    {
      "commit": "ed58f5f0aa580dd4a6dc0fd5dc957862309db8d9",
      "tree": "1a7b303ecceee9078e036843f95846d86420ccd4",
      "parents": [
        "316b9ecdcf5a9cebe8e46cb0ae46dc81c35d4cb8",
        "6f7362d92573e4ae693bc513dca586d6a4eb087b"
      ],
      "author": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Tue Mar 08 18:01:03 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 08 18:01:05 2016 +0000"
      },
      "message": "Merge \"Introducing ShortcutManager\" into nyc-dev"
    },
    {
      "commit": "f8161c0d7c92a4d0d633f99515d95cb76475b51b",
      "tree": "345cd148b5667893853a58f950216cf22f7ccdf9",
      "parents": [
        "0a03f31255f814bcf63ebfe4b0a3c3b20ab1771c"
      ],
      "author": {
        "name": "smain@google.com",
        "email": "smain@google.com",
        "time": "Mon Mar 07 18:38:08 2016 -0800"
      },
      "committer": {
        "name": "smain@google.com",
        "email": "smain@google.com",
        "time": "Mon Mar 07 18:46:30 2016 -0800"
      },
      "message": "add new make target for offline docs with only the API reference.\nAlso update the default index.html landing page to redirect to the reference.\n\nChange-Id: I4e1ca9fddc6374fd80108e4f9a3b9745f8598507\n"
    },
    {
      "commit": "875825d0c11f702cd17bd1086a031731d4795d58",
      "tree": "41d44b9ae522f630db1074b95da9fabb9022b423",
      "parents": [
        "ab7302c9f45f5c33e768deb3484842bab3276818",
        "e24b9a6cfa4d565d7f49c9ae8f3aeca737d93312"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Tue Mar 08 00:14:55 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 08 00:14:57 2016 +0000"
      },
      "message": "Merge \"Add a VR listener service.\" into nyc-dev"
    },
    {
      "commit": "e24b9a6cfa4d565d7f49c9ae8f3aeca737d93312",
      "tree": "fa46c5b24540874258a150c31da512f77c860297",
      "parents": [
        "8b030cce347dbfc5c2f33d96daf1de7eeb219c76"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Tue Feb 16 21:38:24 2016 -0800"
      },
      "committer": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Mon Mar 07 15:54:12 2016 -0800"
      },
      "message": "Add a VR listener service.\n\nBug: 22855417\nBug: 26724891\nBug: 27364145\n\n- Add an API for VrListenerService, which is bound/unbound\n  from the framework when the system VR mode changes.\n- Allow only a single bound VrListenerService at a time.\n- Monitor allowed VrListenerService implementations from\n  VrManagerService and evict services as needed when packages,\n  users, or settings change.\n- Remove previous VR functionality in NotificationListenerService.\n- Add component target to Activity#setVrMode to allow\n  explicit selection of the running VrListenerService from\n  the current VR activity.\n\nChange-Id: I776335f4441be0e793d3126f2d16faf86a8c621a\n"
    },
    {
      "commit": "66c96591e2ddb464c67e60dbf4193ef4ec8a620b",
      "tree": "91d81f51570a818d2d0b4b704273bed245c4e6f9",
      "parents": [
        "75e91294530aea50f8ee8255205429395d728ce5"
      ],
      "author": {
        "name": "Philip P. Moltmann",
        "email": "moltmann@google.com",
        "time": "Wed Feb 24 11:32:43 2016 -0800"
      },
      "committer": {
        "name": "Philip P. Moltmann",
        "email": "moltmann@google.com",
        "time": "Mon Mar 07 09:58:08 2016 -0800"
      },
      "message": "Add \"app printer activity\" and always keep the print service state\nupdated. Also fiddle with the UI to use more standard values.\n\nTo be sure the print service state alwasy updated I changed\nPrintManager.getPrintServices to return a loader which just wraps a\nregisterListener/getList/removeListener combo.\n\nI also added a new function to enabled/disable a print service to be\nkeep all updating logic inside the PrintManagerService-\u003eUserState.\n\nThen I changed all code to use this new interface.\n\nDetailed comments:\n\nPrintServiceInfo:\n- I had to add the enabled state to the PrintServiceInfo as some users\n  of PrintManager.getPrintServices want all services but then display\n  different data depending on the enabled state. Of course I could have\n  created two PrintManager.getPrintServices-loaders to load the two\n  separate list of services. I think it is much easier to add this\n  property though. It is updated every time new data is returned to the\n  PrintManager.getPrintServices-loader.\n\nAddPrinterActivity:\n- This is shown as a dialog-style overlay to indicate that the user will\n  return to the select-printers activity. It contains of three list that\n  are updated via separate loaders.\n- The recommended services will be added later to keep this path set\n  small.\n\nPrintActivity:\n- There are two small places where we have to update the data when we\n  get a new list of print services.\n  - In very, very rare conditions it can happen that the print service\n    of the current printer gains or looses the \"advancedOptions\"\n    activity\n  - If we have no enabled print services we want to show \"Add printer\"\n    instead of \"All printers...\".\n- Also the print registry is not the only loader anymore, hence we have\n  to assign loader ids to it to not conflict with the other loaders in\n  this activity.\n- Small bug in onPrintersChanged: If a printer is selected and the print\n  service of this printer gets disabled the holder goes into \"removed\"\n  state which disables the printer. When the print service is then\n  enabled again, we forgot to re-enable the holder.\n\nPrinterRegistry:\n- The registry assumed that the FusedPrinterProvider was the only loader\n  in the activity. This is not true anymore, hence it has to assign the\n  appropriate loader ids.\n- The FusedPrinterProvider has an internal loader, hence we have to\n  forward a loader Id into it.\n- The PrintRegistry is only called backed for a single loader, hence no\n  need to check the loader-id.\n\nSelectPrinterActivity:\n- The AddPrinterDialog was removed as we now have the\n  AddPrinterActivity.\n- Added a loader for the enabled services to update the empty state.\n- Added dedicated loader Id for the PrinterRegistry again.\n- If we have no enabled services, the SelectPrinterActivity chainloads\n  the AddPrinterActivity as this is the only thing the user can do\n  anyway. \"Save a click\". This should only happen when the activity is\n  create the first time.\n- Moved the \"add printer\" from the menu item to the list of printers as\n  suggested by UX and Zach.\n\nPrintManagerService, UserState and IPrintManagerParamtersTest:\n- As the only place where the print service state is updated is now the\n  userstate, we have no more sychronization problems. Whohoo.\n- The users can now register for changes to the print services similar\n  as they can register for changes to the print jobs.\n- UserState.getPrintServices is the only function can exposes any\n  knowledge of the print services to the outside world.\n\nChange-Id: I9be2c7300431e06aaff9bdf7eb36120d869b56ac\n"
    },
    {
      "commit": "6f7362d92573e4ae693bc513dca586d6a4eb087b",
      "tree": "447b82040ff02bfb73f2e4524051873de5ca1adb",
      "parents": [
        "b74926232ee601851e08cd5d0f0386afcb0bef3e"
      ],
      "author": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Fri Mar 04 13:39:41 2016 -0800"
      },
      "committer": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Fri Mar 04 15:24:49 2016 -0800"
      },
      "message": "Introducing ShortcutManager\n\nWhat\u0027s supported:\n- Most APIs are implemented, except for SM.updateShortcuts(),\nthe icon APIs in LA, and LA.startShortcut().\n- Persisting information, except for icons\n- Throttling\n\nIn addition, now PersistableBundle has a public copy\nconstructor from a Bundle. (Do we want to @hide it?)\n\nTODOs:\n- Add icon support\n- Implement missing APIs\n- Listen to PACKAGE_* broadcasts and do clean-up\n- Support multi-launcher apps (pinned shortcuts per launcher)\n- Dev option to reset throttling\n- Load throttling config from Settings\n- Backup \u0026 restore\n- Figure out LauncherApps permissions (BIND_APPWIDGETS??)\n- Other minor TODOs in the code\n- Better javadoc\n\nNote: This requires Idf2f9ae816e1f3d822a6286a4cf738c14e29a45e\n\nBug 27325877\n\nChange-Id: Ia5aa555a4759df5f79a859338f1dc5e624cd0e35\n"
    },
    {
      "commit": "5d2d7788f1759b0f3d2c057af0b3ea61b0354fee",
      "tree": "2eb83909d11c567eb3e27adc3711ffbe773766cd",
      "parents": [
        "212cc4ebfa1129da63c43116c863e6a7d0ca7aa2"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Dec 17 16:50:50 2015 -0800"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Mar 01 17:15:17 2016 -0800"
      },
      "message": "Camera2: Switch to auto-gen C++ binder interfaces\n\n - Move camera AIDL files to frameworks/av\n - Update makefiles to point to new AIDL locations\n - Adjust camera2 implementation to match modifications to AIDL needed\n   for native AIDL auto-generation\n - Move Surface.aidl to frameworks/native to allow use in\n   native AIDL. Use android::view::Surface in Surface JNI to\n   serialize Surface objects to ensure parceling compatibility.\n - Adjust service binder tests to new interface\n\nBug: 25091611\nChange-Id: I85b817374b34a4540fa145328dbe4bbf7f746baf\n"
    },
    {
      "commit": "94ce94e96069ab6c2ece4864ba4c7692f3168352",
      "tree": "3967dba82359dc112a713fb0ced8b6185f9772cb",
      "parents": [
        "203b353018e1533251528b087345cc9933aa38fe"
      ],
      "author": {
        "name": "Muyuan Li",
        "email": "muyuanli@google.com",
        "time": "Wed Feb 24 16:20:54 2016 -0800"
      },
      "committer": {
        "name": "Muyuan Li",
        "email": "muyuanli@google.com",
        "time": "Fri Feb 26 22:30:34 2016 +0000"
      },
      "message": "Allows components to register shortcut key.\n\nThe registered shortcut will be called from PhoneWindowManager,\nbefore dispatching\n\nChange-Id: If26128939b45a639c8895719a7a23ca433f39fd9\n(cherry picked from commit 4da863c5a8872dcabb179a978a2b2157d9081679)\n"
    },
    {
      "commit": "1142b2654ae36b54a61bfe759f2f43a01532ae93",
      "tree": "c6bbf2390084f2417b22e576ddc31cfc9bf82de3",
      "parents": [
        "6831e8ea7601c506b1e8c61021fecfffa9cb183e",
        "51e4acb29d87fafc0d790fadfd31d0c1410521f5"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Wed Feb 24 15:06:39 2016 +0900"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Wed Feb 24 15:19:15 2016 +0900"
      },
      "message": "resolve merge conflicts of 51e4acb29d to nyc-dev\n\nAlso add the appropriate changes to api/test-current.txt, which\nis not present on mm-wireless-dev from which this change came.\n\nChange-Id: Ic4df6d0f89add73b7e5252ef662de07a4e8fce31\n"
    },
    {
      "commit": "51e4acb29d87fafc0d790fadfd31d0c1410521f5",
      "tree": "5fcedd1a42f0f912c316d85aae8128bcadde2d0c",
      "parents": [
        "29c490bcd31cda210e1730649ba4fef02d74c69d",
        "02b3e6bfc5bbd5f1a8ce1ce68976e59142073b6f"
      ],
      "author": {
        "name": "Pierre Imai",
        "email": "imaipi@google.com",
        "time": "Wed Feb 24 04:49:24 2016 +0000"
      },
      "committer": {
        "name": "Android Partner Code Review",
        "email": "android-gerrit-partner@google.com",
        "time": "Wed Feb 24 04:49:24 2016 +0000"
      },
      "message": "Merge \"Add Connectivity Metrics Logger service\" into mm-wireless-dev"
    },
    {
      "commit": "02b3e6bfc5bbd5f1a8ce1ce68976e59142073b6f",
      "tree": "e9bf6c3b4950f505dbe982778da99c2c3cf20cb3",
      "parents": [
        "efa4209fe022d007f48edc3c4feaef00a9865cb5"
      ],
      "author": {
        "name": "Pavel Zhamaitsiak",
        "email": "pavelz@google.com",
        "time": "Wed Feb 03 10:39:44 2016 -0800"
      },
      "committer": {
        "name": "Pierre Imai",
        "email": "imaipi@google.com",
        "time": "Tue Feb 23 17:32:53 2016 +0900"
      },
      "message": "Add Connectivity Metrics Logger service\n\nThis service can be used to pass events to metrics collection service\n\nChange-Id: I213874300693cd121f2c8676f70893315de4c4c0\n"
    },
    {
      "commit": "9de7952aa945eb06148f82b9f30d7d11a2de5d74",
      "tree": "508cb88196232ec0cf6cd0855f47452f1b0b350f",
      "parents": [
        "ffd4c73a293ebac22efa644db99ba907f9776604",
        "e8a403d57c8ea540f8287cdaee8b90f0cf9626a3"
      ],
      "author": {
        "name": "Tao Bao",
        "email": "tbao@google.com",
        "time": "Mon Feb 22 19:24:23 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 22 19:24:25 2016 +0000"
      },
      "message": "Merge \"Add support for update-on-boot feature.\" into nyc-dev"
    },
    {
      "commit": "fa272e5c9262bc974d68139a6300ecdbf94f0767",
      "tree": "c4cecf7f5e8e9517d460b4a29689b1d71bc22bbd",
      "parents": [
        "30eb5b30e7bf88fbd3397cb56cda854293ae9c4d",
        "801f90e61b971984c92767acd6fb62d56911664b"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Mon Feb 22 11:55:29 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 22 11:55:30 2016 +0000"
      },
      "message": "Merge \"Add stubs needed to enable javac to compile lambdas\" into nyc-dev"
    },
    {
      "commit": "e8a403d57c8ea540f8287cdaee8b90f0cf9626a3",
      "tree": "13d471ba15c34ba265de9393e09b376a4b61a11f",
      "parents": [
        "ea168d229d316c84652e88ad0f19adbaa884d731"
      ],
      "author": {
        "name": "Tao Bao",
        "email": "tbao@google.com",
        "time": "Thu Dec 31 07:44:55 2015 -0800"
      },
      "committer": {
        "name": "Tao Bao",
        "email": "tbao@google.com",
        "time": "Fri Feb 19 11:31:45 2016 -0800"
      },
      "message": "Add support for update-on-boot feature.\n\nAdd a separate system service RecoverySystemService to handle recovery\nrelated requests (calling uncrypt to de-encrypt the OTA package on the\n/data partition, setting up bootloader control block (aka BCB) and etc).\n\nWe used to trigger uncrypt in ShutdownThread before rebooting into\nrecovery. Now we expose new SystemApi (RecoverySystem.processPackage())\nto allow the caller (e.g. GmsCore) to call that upfront before\ninitiating a reboot. This will reduce the reboot time and get rid of the\nprogress bar (\"processing update package\"). However, we need to reserve\nthe functionality in ShutdownThread to optionally call uncrypt if\nfinding that\u0027s still needed.\n\nIn order to support the update-on-boot feature, we also add new\nSystemApis scheduleUpdateOnBoot() and cancelScheduledUpdate() into\nandroid.os.RecoverySystem. They allow the caller (e.g. GmsCore) to\nschedule / cancel an update by setting up the BCB, which will be read by\nthe bootloader and the recovery image. With the new SystemApis, an\nupdate package can be processed (uncrypt\u0027d) in the background and\nscheduled to be installed at the next boot.\n\nBug: 26830925\nChange-Id: Ic606fcf5b31c54ce54f0ab12c1768fef0fa64560\n"
    },
    {
      "commit": "f8754ac2127f8adf40bd4731f39b16340acdb2f7",
      "tree": "efc225657092e25fc0d9ac50e5e5ac78d8eaa61d",
      "parents": [
        "5393a6605f0ffd7f5e1e7e080c414096d6b0db2a"
      ],
      "author": {
        "name": "Polina Bondarenko",
        "email": "pbond@google.com",
        "time": "Fri Feb 12 20:38:23 2016 +0100"
      },
      "committer": {
        "name": "Polina Bondarenko",
        "email": "pbond@google.com",
        "time": "Fri Feb 19 18:24:29 2016 +0100"
      },
      "message": "Added hardwareproperties SystemService\n\nAdd HardwarePropertiesManagerService which call native methods to\nget CPU, GPU, battery temperatures, CPU usage info, fan speeds.\nRestrict hardware properties retrieval only for device and profile\nowners.\n\nBug: 26945055\nChange-Id: I4d6b30b78e575532d5e9cfa59ef6cd81355439d4\n"
    },
    {
      "commit": "0d0f0c7faf530a0fa5595dd539c3f56afeb6603a",
      "tree": "2af41bc8bb2ae5516ea9a9e1931de3de09fd9152",
      "parents": [
        "e4c50de75273efaec4e9e8db6174e0bfc07d3105"
      ],
      "author": {
        "name": "Etan Cohen",
        "email": "etancohen@google.com",
        "time": "Wed Feb 17 16:01:49 2016 -0800"
      },
      "committer": {
        "name": "Etan Cohen",
        "email": "etancohen@google.com",
        "time": "Thu Feb 18 23:48:59 2016 +0000"
      },
      "message": "[NAN] Renamed listeners to callback per API guidelines [DO NOT MERGE]\n\nThe interfaces had multiple functions and are hence callback\nand not a listener.\n\nNote: purely a rename operation.\n\nBug: 27122760\nChange-Id: Ib12711f56a64052455843859125d72268c465fc0\n"
    },
    {
      "commit": "e4c50de75273efaec4e9e8db6174e0bfc07d3105",
      "tree": "f45db0acad7323c036d0fbc6484000cdd29d9f06",
      "parents": [
        "aa36f07194b29adee881e684b63f8bbdee6097bc"
      ],
      "author": {
        "name": "Etan Cohen",
        "email": "etancohen@google.com",
        "time": "Wed Feb 17 14:25:41 2016 -0800"
      },
      "committer": {
        "name": "Etan Cohen",
        "email": "etancohen@google.com",
        "time": "Thu Feb 18 23:46:01 2016 +0000"
      },
      "message": "[NAN]: API update - consolidate Puslish|Subscribe Data+Subscribe -\u003e Config [DO NOT MERGE]\n\nSimplify configuration and consolidate structures whose difference\nwasn\u0027t very clear.\n\nBug: 27122760\nChange-Id: I0651cade71eb146d9ea9219baf6d2253588db3de\n"
    },
    {
      "commit": "801f90e61b971984c92767acd6fb62d56911664b",
      "tree": "00850a12bf18cabd4aefb95c191c46d188597b0f",
      "parents": [
        "218c2ab00ae1597e2728d8b2c865269717150dd3"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Thu Feb 18 13:57:43 2016 +0000"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Thu Feb 18 13:59:36 2016 +0000"
      },
      "message": "Add stubs needed to enable javac to compile lambdas\n\nThis enables framework.jar code to include lambdas.\nframework.jar is still built with javac (as well as\njack) for things like doclava.\n\nBug: 26753820\nChange-Id: I25030b3fa3abdec5b325182bd0a665ba964176c0\n"
    },
    {
      "commit": "0c4cf27365dd827d70d51f53060f5ade5c74ff8b",
      "tree": "262e1ea750db6199eb018050cce504a9006582dd",
      "parents": [
        "77821ac498dc685950a80f6646f84e660a0d3386"
      ],
      "author": {
        "name": "Dirk Dougherty",
        "email": "ddougherty@google.com",
        "time": "Tue Feb 16 22:28:55 2016 -0800"
      },
      "committer": {
        "name": "Dirk Dougherty",
        "email": "ddougherty@google.com",
        "time": "Tue Feb 16 22:28:55 2016 -0800"
      },
      "message": "Remove -includePreview flag until support is available in doclava.\n\nChange-Id: I3b644bd50d42ea260bed09c9c5bdab6d3d6a8b75\n"
    },
    {
      "commit": "77821ac498dc685950a80f6646f84e660a0d3386",
      "tree": "e969a171cece37be35cf4e492e4c399841d6c819",
      "parents": [
        "a8e03cd6a45118415e4f3e9aacca761c34d0cdd4",
        "5748bc4a1bd2fd98341710cacc6a7bfbd5bb40f6"
      ],
      "author": {
        "name": "Dirk Dougherty",
        "email": "ddougherty@google.com",
        "time": "Wed Feb 17 05:32:59 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 17 05:33:02 2016 +0000"
      },
      "message": "Merge \"Add preview docs dir, toc, and basic files.\" into mnc-mr-docs"
    },
    {
      "commit": "c3651f41fbedb5a45e032cd8111a0f2d42ba7cd7",
      "tree": "f7341bece0f20df8488e87f7c8d2fbc8a20f78df",
      "parents": [
        "8c54f6d4e9e0a2a09deb603b86b5bb5e7605069b"
      ],
      "author": {
        "name": "Amanda Kassay",
        "email": "akassay@google.com",
        "time": "Tue Feb 16 12:00:09 2016 -0500"
      },
      "committer": {
        "name": "Amanda Kassay",
        "email": "akassay@google.com",
        "time": "Tue Feb 16 12:00:09 2016 -0500"
      },
      "message": "Added redesign flags for devsite content build\n\nChange-Id: Ifea2cf00f2857be0f8ac95952110d4d4bc9df54e\n"
    },
    {
      "commit": "5748bc4a1bd2fd98341710cacc6a7bfbd5bb40f6",
      "tree": "83b2746b48c24431394b95f2b243ccc2d36d5155",
      "parents": [
        "01fb15015302696f0f6b6d3ba4cf77d6245530b0"
      ],
      "author": {
        "name": "Dirk Dougherty",
        "email": "ddougherty@google.com",
        "time": "Sat Feb 06 18:24:32 2016 -0800"
      },
      "committer": {
        "name": "Dirk Dougherty",
        "email": "ddougherty@google.com",
        "time": "Sun Feb 07 02:26:38 2016 +0000"
      },
      "message": "Add preview docs dir, toc, and basic files.\n\nChange-Id: I890dd21fed1217e4429f269eed5bada9a6faf2b4\n"
    },
    {
      "commit": "09102359ed0bdc52c636bbb24726212e4d22dfe3",
      "tree": "8e24dcffc0ea011b52e6bf103a61a0d5ca905cc5",
      "parents": [
        "3af4eb5b5076bef618b4b5e48b7d11813d973fe3",
        "7e29dea3f86e37dcf1753402cf73865114283656"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Thu Feb 04 03:46:08 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 04 03:46:08 2016 +0000"
      },
      "message": "Merge \"Incremental local builds for frameworks\""
    },
    {
      "commit": "962c6a81e3f9b3ea6b4b178ca41a87230864525e",
      "tree": "59c46dc35be453c31d986120c96d61e9d51995e2",
      "parents": [
        "663928862ac3dc4aa570f1c51db25538e1874272",
        "fd600b1113af6f66e28b65f5b53f4a7c751cdef9"
      ],
      "author": {
        "name": "Jan Nordqvist",
        "email": "jannq@google.com",
        "time": "Wed Feb 03 20:00:47 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Feb 03 20:00:47 2016 +0000"
      },
      "message": "Merge \"New System APIs for Passpoint r2 app.\" into mm-wireless-dev\nam: fd600b1113\n\n* commit \u0027fd600b1113af6f66e28b65f5b53f4a7c751cdef9\u0027:\n  New System APIs for Passpoint r2 app.\n"
    },
    {
      "commit": "a772f0cf34f0db67997cb31fa44315c0933563da",
      "tree": "7d37cee32349f5d193eaa440037ca8ce7ac43346",
      "parents": [
        "8562fb281c37656d9198e6890f5c10e3541f6167"
      ],
      "author": {
        "name": "Vinit Deshpande",
        "email": "vinitd@google.com",
        "time": "Wed Jan 27 19:05:24 2016 -0800"
      },
      "committer": {
        "name": "Jan Nordqvist",
        "email": "jannq@google.com",
        "time": "Wed Feb 03 11:28:21 2016 -0800"
      },
      "message": "New System APIs for Passpoint r2 app.\n\nChange-Id: I09428e9a393999f43aefe5efd77cffe4b1b17da5\n"
    },
    {
      "commit": "7e29dea3f86e37dcf1753402cf73865114283656",
      "tree": "2ed29000804f122967f980ecd1b297842417d6fe",
      "parents": [
        "e5cb2a7fefe38aa40960db67b40a670fbdc06a91"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Mon Feb 01 16:22:43 2016 -0800"
      },
      "committer": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Wed Feb 03 02:56:58 2016 +0000"
      },
      "message": "Incremental local builds for frameworks\n\nChange-Id: I810652adf4359f7eb0b87adc4f5ed45da5429e6a\n"
    }
  ],
  "next": "d7a4da42bd2524fe04da23f7f27886e90a699324"
}
