)]}'
{
  "log": [
    {
      "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": "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": "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": "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": "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": "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": "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"
    },
    {
      "commit": "d7a4da42bd2524fe04da23f7f27886e90a699324",
      "tree": "f5e7ca67dedc3f2e0376dd7d6acc44822de4ce82",
      "parents": [
        "ccda74f5ecb2f453bce207eda3aa8c6e9ee8b8bd",
        "d46d308562b78af6a06d014e17cb67a6e3103b30"
      ],
      "author": {
        "name": "Lifu Tang",
        "email": "lifu@google.com",
        "time": "Wed Feb 03 02:08:28 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 03 02:08:28 2016 +0000"
      },
      "message": "Merge changes from topic \u0027API renaming\u0027\n\n* changes:\n  Worked around the crash caused by API renaming\n  Rename Gps to Gnss for measurement-related APIs\n"
    },
    {
      "commit": "818aa2c2c46addae934fb6cd42f889affc9ef747",
      "tree": "4d6a2264c00f9be4278f1efd7940cfe25fd95528",
      "parents": [
        "59235e66a504f915fe738262fca38761d507e100"
      ],
      "author": {
        "name": "Lifu Tang",
        "email": "lifu@google.com",
        "time": "Mon Feb 01 01:52:00 2016 -0800"
      },
      "committer": {
        "name": "Lifu Tang",
        "email": "lifu@google.com",
        "time": "Tue Feb 02 16:15:03 2016 -0800"
      },
      "message": "Rename Gps to Gnss for measurement-related APIs\n\nBug: 26895757\nChange-Id: I12d89dc251e356cf976a4bcd3589a8925a8ad745\n"
    },
    {
      "commit": "a89087542f774c585b6a6ec535fc294721710521",
      "tree": "ab18bd82a959dfd0afd2a8d1faba998435c56b2c",
      "parents": [
        "e909d94e03e2bd3eba0bb47b6295ae0bf6538c31"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Nov 10 08:58:14 2015 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Feb 01 15:38:21 2016 -0800"
      },
      "message": "Frameworks/base: Add A/B OTA preopting\n\nAdd an OTA Dexopt service. Refactor package manager service and\npackage dex optimizer to reuse some code. Add knowledge about\nOTA flag to installer.\n\nBug: 25612095\nChange-Id: I7dd6bb468fea44b9d3acf0ac7d7404fb02d0f30a\n"
    },
    {
      "commit": "ad2a71f722ec736e73a4a4df3b0da820a097c396",
      "tree": "dd5b8313737dab114ce6442bbd8a58b1d6b630ec",
      "parents": [
        "5a2120820a66a52200ad6b330c623bce9bce89b4",
        "8a688b2f36437ae4305130e2920e42ce546bdbbc"
      ],
      "author": {
        "name": "Pavel Zhamaitsiak",
        "email": "pavelz@google.com",
        "time": "Thu Jan 28 23:47:01 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jan 28 23:47:01 2016 +0000"
      },
      "message": "Merge \"Add ITelephonyDebugSubscriber.aidl\" into mm-wireless-dev\nam: 8a688b2f36\n\n* commit \u00278a688b2f36437ae4305130e2920e42ce546bdbbc\u0027:\n  Add ITelephonyDebugSubscriber.aidl\n"
    },
    {
      "commit": "d53aadc0ec104c67929d0d3312280cd032139ed9",
      "tree": "e725d6e3c25cee8b4ba661f658ef97cba5cbc982",
      "parents": [
        "d1e2332ea3d7badc94eb662512d76a248de6f40f",
        "1d1ac5409597ef668e52c6f27293eaf9af575e33"
      ],
      "author": {
        "name": "Ashutosh Joshi",
        "email": "ashutoshj@google.com",
        "time": "Thu Jan 28 22:24:39 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 28 22:24:39 2016 +0000"
      },
      "message": "Merge \"Context hub API for applications\""
    },
    {
      "commit": "1d1ac5409597ef668e52c6f27293eaf9af575e33",
      "tree": "f9c2740347df6ca5cff08b262ee76449afb857ad",
      "parents": [
        "6cfdf6b67aede52c9fffd98315925d9368943b8b"
      ],
      "author": {
        "name": "Ashutosh Joshi",
        "email": "ashutoshj@google.com",
        "time": "Mon Jan 18 17:19:27 2016 -0800"
      },
      "committer": {
        "name": "Ashutosh Joshi",
        "email": "ashutoshj@google.com",
        "time": "Thu Jan 28 14:19:17 2016 -0800"
      },
      "message": "Context hub API for applications\n\nAdding a System API for applications to access a context hub.\n\nThe API is not expected to be exposed to third party Android\napplications in the medium term.\n\nChange-Id: Ia2222317c913de6901f3912e4c89b5cfa398be85\n"
    },
    {
      "commit": "45fbe46da642ebc0685ecdee73b09a963d5fe54d",
      "tree": "19459650c9cbc7450d749f9358db22d5d4904d6b",
      "parents": [
        "3b3e57ef2bc72bf241b16b89900d5c83fd3b4a6c",
        "e5a0e21b6fcba32e6d7486c5e7736d7d0348d55c"
      ],
      "author": {
        "name": "Lifu Tang",
        "email": "lifu@google.com",
        "time": "Thu Jan 28 02:02:18 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 28 02:02:17 2016 +0000"
      },
      "message": "Merge changes from topic \u00272016 GPS Changes\u0027\n\n* changes:\n  Framework support to read newly added fields\n  Added an API to query GPS hardware version info\n  GPS Measurement and Navigation APIs go public\n  Supported GNSS multi-constellation in frameworks\n"
    },
    {
      "commit": "ed0eecf7a2426321db816ece1daf8d1dbfbcd6b1",
      "tree": "4ed132b9851b67294ae03082e2f30a2ffe4edf70",
      "parents": [
        "82c8b7edd0656bcab79411c8dbfe3651a314a559"
      ],
      "author": {
        "name": "Pavel Zhamaitsiak",
        "email": "pavelz@google.com",
        "time": "Wed Jan 27 18:00:17 2016 -0800"
      },
      "committer": {
        "name": "Pavel Zhamaitsiak",
        "email": "pavelz@google.com",
        "time": "Wed Jan 27 18:00:17 2016 -0800"
      },
      "message": "Add ITelephonyDebugSubscriber.aidl\n\nIt can be used to subscribe for telephony debug events.\n\nChange-Id: I6f17b0409f1117abd2d4caac99d3301c43134c75\n"
    },
    {
      "commit": "4665f49b9ca404adbb9e1bb3053b5f75ed23f846",
      "tree": "1fd235154d8f5ca05e3a96fc177d35f93f4ca9ad",
      "parents": [
        "ee4c5c9ee81fa66fb21ff30c1898e7b93fd83172",
        "1bef339b88b3f760603dcc08d79a62647fc18296"
      ],
      "author": {
        "name": "Sailesh Nepal",
        "email": "sail@google.com",
        "time": "Wed Jan 27 22:16:59 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 27 22:16:59 2016 +0000"
      },
      "message": "Merge \"Add new public API to allow call screening\""
    },
    {
      "commit": "1bef339b88b3f760603dcc08d79a62647fc18296",
      "tree": "edbd1c73921724babcf9dabc7418170e840c562e",
      "parents": [
        "9c2618b17fe580d70994ba8f5d999f20804575f9"
      ],
      "author": {
        "name": "Sailesh Nepal",
        "email": "sail@google.com",
        "time": "Sun Jan 24 18:21:53 2016 -0800"
      },
      "committer": {
        "name": "Sailesh Nepal",
        "email": "sail@google.com",
        "time": "Wed Jan 27 13:54:12 2016 -0800"
      },
      "message": "Add new public API to allow call screening\n\nThis CL adds a new service that the default dialer can implement to\nscreen incoming calls.\n\nIf the service is implemented then Telecom uses it to decide if a call\nshould be shown to the user or rejected.\n\nNote, I initially tried to simply extend InCallService instead of\ncreating a whole new service. The problem with this approach is that:\n  - this breaks some in call services which show UI as soon as they are\n    bound to\n  - the in call service lifecycle is tightly coupled to adding and\n    removing calls. Call screening happens before a call is added which\n    makes it a bad fit to in call service\n  - call screening is a function of only the default dialer\u0027s in call\n    service but the existing code also binds to \"controller\" call\n    services\n\nFor these reasons it seemed simpler to just create a new optional\nservice.\n\nBUG: 22857261\nChange-Id: I53f2ef93360e0af19b6ce45af21026be6cf3a7f3\n"
    },
    {
      "commit": "a772e5fc062c8de48cb9c1d61755110f6b2e189b",
      "tree": "3ee387dd521a8d8d6c3bbc8841542ca07a5078aa",
      "parents": [
        "5c461fc36d79d13b037ef928beb38fdb64e94057"
      ],
      "author": {
        "name": "Arunesh Mishra",
        "email": "arunesh@google.com",
        "time": "Mon Jan 25 10:33:11 2016 -0800"
      },
      "committer": {
        "name": "Arunesh Mishra",
        "email": "arunesh@google.com",
        "time": "Wed Jan 27 12:49:20 2016 -0800"
      },
      "message": "SoundTrigger API improvements.\n\nThis CL implements the SoundTrigger API improvements as given in b/22860713. Only the java-level\nparts are implemented in this CL.\n\nKey changes include:\n\n* Addition of a SoundTriggerManager/SoundTriggerDetector system API to manage\n  the sound-trigger based sound models.\n* Addition of a SoundTriggerService service that manages all sound models\n  including voice (keyphrase) and sound-trigger based models.\n* Includes logic to write sound-trigger based models to the database.\n* VoiceInteractionManager service now uses SoundTriggerService instead of\n  SoundTriggerHelper.\n\nBug: 22860713\nChange-Id: I7b5c0ed80702527c4460372efeb5e542d3693a69\n"
    },
    {
      "commit": "9465a0383148338a702818f65029b051f58d9219",
      "tree": "7e48dc940f009f36be089d67bad85d5eadb1c419",
      "parents": [
        "39cef94f1a70358cc1d6e8261379de627c3779be",
        "82c8b7edd0656bcab79411c8dbfe3651a314a559"
      ],
      "author": {
        "name": "Vinit Deshpande",
        "email": "vinitd@google.com",
        "time": "Tue Jan 26 22:41:15 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jan 26 22:41:15 2016 +0000"
      },
      "message": "Merge \"Remove older passpoint code that we never made to work\" into mm-wireless-dev\nam: 82c8b7edd0\n\n* commit \u002782c8b7edd0656bcab79411c8dbfe3651a314a559\u0027:\n  Remove older passpoint code that we never made to work\n"
    },
    {
      "commit": "5adbfd0a440034d6b47eaa521a5b9e38b006e52d",
      "tree": "a8c576adaaeaa713ec5d7bb4969a0a04ff190252",
      "parents": [
        "bae1c3482cdcd487dec7d1a754cf79d5c18a624b",
        "bdc77360ea277368f15d4f91b540a4882f093fa5"
      ],
      "author": {
        "name": "Tao Bao",
        "email": "tbao@google.com",
        "time": "Tue Jan 26 18:17:37 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 26 18:17:37 2016 +0000"
      },
      "message": "Merge \"Build update engine binder AIDLs for framework use.\""
    },
    {
      "commit": "cb90cfbe16ab4828eaee3ab3b2de864a1f83fb06",
      "tree": "1738b514a11e0280a6b0f223dccdd78b9c3da858",
      "parents": [
        "480bd2b97a46628f36fee606a2b63248aa75dd8a"
      ],
      "author": {
        "name": "Vinit Deshpande",
        "email": "vinitd@google.com",
        "time": "Mon Jan 25 19:33:46 2016 -0800"
      },
      "committer": {
        "name": "Vinit Deshpande",
        "email": "vinitd@google.com",
        "time": "Mon Jan 25 20:15:25 2016 -0800"
      },
      "message": "Remove older passpoint code that we never made to work\n\nSince we are hiding MO trees et al; there is no reason to\nkeep this code anymore.\n\nChange-Id: Ic92131b5949c3b97b7a55fa7d3e0cd8f9e933aa0\n"
    },
    {
      "commit": "30f95a7d67870c28d2aaa88ee989c099f5670225",
      "tree": "1e9d1910d5bfebe285839e9cd3eb34b1f70e5a7c",
      "parents": [
        "365458c678af49d4a20c104ab9501014ad3ed70a"
      ],
      "author": {
        "name": "Lifu Tang",
        "email": "lifu@google.com",
        "time": "Thu Jan 07 23:20:38 2016 -0800"
      },
      "committer": {
        "name": "Lifu Tang",
        "email": "lifu@google.com",
        "time": "Mon Jan 25 15:15:14 2016 -0800"
      },
      "message": "Supported GNSS multi-constellation in frameworks\n\nChange-Id: I82574afd3697c47e806d2cfaedc33756d0353b73\n"
    },
    {
      "commit": "77781d3aaa3b468d3078ea154bd3e098348451f2",
      "tree": "2949605c09ade8438e69d252eddbf606f95ee2e8",
      "parents": [
        "313b825fe64aa67a44ab883b791520f2d396aaab"
      ],
      "author": {
        "name": "Chris Wren",
        "email": "cwren@android.com",
        "time": "Mon Jan 11 14:49:26 2016 -0500"
      },
      "committer": {
        "name": "Chris Wren",
        "email": "cwren@android.com",
        "time": "Mon Jan 25 11:24:08 2016 -0500"
      },
      "message": "a step toward enforcing unique metrics log IDs\n\nFirst of several change lists:\n1. Add in the new proto (this CL)\n2. Migrate the existing code over to the proto.\n3. Remove MetricsConstants once it is unused.\n\nBug: 26442178\nChange-Id: Ic24829246af8ec5b202e39a85960aac5cf336c33\n"
    },
    {
      "commit": "f82ab8bea4c914c567a3487297fd4914561978a1",
      "tree": "ee81730ac8d87e5597f6b081a5798772b56915f6",
      "parents": [
        "7d1ca068a229191653f66e440f4209a2a2c3f05e",
        "cf2f9d0966af01eb269b9ce6f2d08870647dd22f"
      ],
      "author": {
        "name": "Martijn Coenen",
        "email": "maco@google.com",
        "time": "Mon Jan 25 10:00:32 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jan 25 10:00:32 2016 +0000"
      },
      "message": "Merge \"Implementation of HCE for NFC-F.\" am: e168012ff2\nam: cf2f9d0966\n\n* commit \u0027cf2f9d0966af01eb269b9ce6f2d08870647dd22f\u0027:\n  Implementation of HCE for NFC-F.\n"
    },
    {
      "commit": "e168012ff21408f8be85040bb4ac977061519f62",
      "tree": "13e71577cf7eb2986e3759887a3e26ebed662fbc",
      "parents": [
        "b7fbe1104fd93b426dd6a6f2ed9dfc9cb12b4dd8",
        "c52adfe12469a1d1bcd5b7119b83363e094a7b84"
      ],
      "author": {
        "name": "Martijn Coenen",
        "email": "maco@google.com",
        "time": "Mon Jan 25 09:48:43 2016 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jan 25 09:48:43 2016 +0000"
      },
      "message": "Merge \"Implementation of HCE for NFC-F.\""
    },
    {
      "commit": "bdc77360ea277368f15d4f91b540a4882f093fa5",
      "tree": "cebe08d7a8a73cc082bf3183d6ee9595c2f7c3e6",
      "parents": [
        "18116c01c2e35eab0869e4a982c4669bbccb8af6"
      ],
      "author": {
        "name": "Tao Bao",
        "email": "tbao@google.com",
        "time": "Tue Jan 19 15:52:28 2016 -0800"
      },
      "committer": {
        "name": "Tao Bao",
        "email": "tbao@google.com",
        "time": "Sat Jan 23 15:55:19 2016 -0800"
      },
      "message": "Build update engine binder AIDLs for framework use.\n\nWe will define system APIs in framework that talk to the update engine\nvia binder APIs (e.g. android.os.UpdateEngine etc in follow-up CLs).\nThis CL adds rules to build the update engine AIDLs for that.\n\nBug: 26695366\nChange-Id: Icee5c7d396aa10e592c2b1fd58b4b369a9b6cbfc\n"
    },
    {
      "commit": "c52adfe12469a1d1bcd5b7119b83363e094a7b84",
      "tree": "403ef62d29d06f6a426bc2efeaa9177639bf4e54",
      "parents": [
        "47950e588c59ff58d12b3429d285e3330b9dfe01"
      ],
      "author": {
        "name": "Yoshinobu Ito",
        "email": "Yoshinobu.Ito@jp.sony.com",
        "time": "Fri Jan 22 18:14:18 2016 +0900"
      },
      "committer": {
        "name": "Yoshinobu Ito",
        "email": "Yoshinobu.Ito@jp.sony.com",
        "time": "Fri Jan 22 18:14:18 2016 +0900"
      },
      "message": "Implementation of HCE for NFC-F.\n\nThis impementation includes HCE(Host-based Card Emulation) for NFC-F\nwhich emulates NFC Forum Type 3 Tag on a smartphone.\n\nSigned-off-by: Daisuke Ito \u003cDaisukeE.Ito@jp.sony.com\u003e\n               Yoshinobu Ito \u003cYoshinobu.Ito@jp.sony.com\u003e\n\nChange-Id: I1618a7fba801e0705ff3cc078206a1446b3dd56d\n"
    },
    {
      "commit": "d3665f1f0f2e2aefe4c5dd6b000b356dfb414783",
      "tree": "0598d8e2edbd5e57f5a3e2f733c6fec070e42902",
      "parents": [
        "3bcf800c50238ac2df19c9fc0375c303905524b0",
        "fe06bf64d204c459699b0bf6465f9fb69208345e"
      ],
      "author": {
        "name": "Sergey Poromov",
        "email": "poromov@google.com",
        "time": "Thu Jan 21 18:55:28 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 21 18:55:28 2016 +0000"
      },
      "message": "Merge \"Introduce BackupManager#requestBackup \u0026 BackupObserver API\""
    },
    {
      "commit": "fe06bf64d204c459699b0bf6465f9fb69208345e",
      "tree": "9c17b7068072e9117c1b665db5d02f6b4cb17097",
      "parents": [
        "b325061b196e8bb849356c1beb09de9d18bbe97b"
      ],
      "author": {
        "name": "Sergey Poromov",
        "email": "poromov@google.com",
        "time": "Tue Dec 15 16:26:23 2015 +0100"
      },
      "committer": {
        "name": "Sergey Poromov",
        "email": "poromov@google.com",
        "time": "Thu Jan 21 19:15:33 2016 +0100"
      },
      "message": "Introduce BackupManager#requestBackup \u0026 BackupObserver API\n\nIntroduces a way to request immediate backup for list of packages\nand receive callbacks on backup progress.\n\nBug: 25688526\nChange-Id: Ib826933d44f4ebf2b981f8be366215b2d37847e2\n"
    },
    {
      "commit": "900fe2410ddfdaa7be71d41335b73dc2c1c7858e",
      "tree": "0ee3c205e7887fc608c706b2079ea35b90f43e7b",
      "parents": [
        "a344be935db6c7f190fb1b730778dba7601d38c5",
        "75431fbe361e16cfdc43c16cc65b86b8dab39e82"
      ],
      "author": {
        "name": "Rubin Xu",
        "email": "rubinxu@google.com",
        "time": "Tue Jan 19 23:31:32 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 19 23:31:32 2016 +0000"
      },
      "message": "Merge \"Add JNI bridge to the new logd security buffer.\""
    },
    {
      "commit": "9941ab3cbb91bffe3b06d3a77a68bb97bcaba381",
      "tree": "4dedf62062ea0e20e9f30492280202f16d2ecdec",
      "parents": [
        "59f1744ef4a100879544553ffb2c33b4e008396b",
        "ca5edbb6b5300e07a5f7bfbec36f08df65d8f6e7"
      ],
      "author": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Fri Jan 15 20:09:11 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 15 20:09:11 2016 +0000"
      },
      "message": "Merge \"Changes in DeviceIdlecontroller and JobScheduler to support Auto GarageMode.\""
    },
    {
      "commit": "ca5edbb6b5300e07a5f7bfbec36f08df65d8f6e7",
      "tree": "f546e49f84095fc56ee48349d9f397c3fd6eca96",
      "parents": [
        "8e25f731d32c8623b5518be1b1529faeebffa1e8"
      ],
      "author": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Wed Jan 13 14:44:36 2016 -0800"
      },
      "committer": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Fri Jan 15 12:06:30 2016 -0800"
      },
      "message": "Changes in DeviceIdlecontroller and JobScheduler to support Auto GarageMode.\n\nChanges made in the cl:\n1. Let DeviceIdleController take listeners on whether background\nmaintanence services are active. This currently includes JobScheduler,\nSyncManager, DownloadService. Note this is the last known\nstates reported by these services.\n\n2. In JobScheduler, make the idle threshold and alarm window configurable.\nSo in the car case, we don\u0027t need to wait 71 mins after screen off\nto kick off any jobs that require device idle.\n\n-------------------------------------------------------------------\n\n* We are not going to suppress JobScheduler, DownloadService, SyncManager\nentirely while user is driving. Because apps may not be working properly if\nthese services are suspended.\n\n* The jobs that we don\u0027t allow to run while driving are the\njobs submitted to JobScheduler that require device idle.\nAnd this is already taken care of, because\nscreen is ON and JobScheduler will not consider the device to be idle\nwhile driving (unless user turns off the head unit).\n\n* We will need to give the JobScheduler a chance to run the device idle\njobs when car is turned off. This is the scope of GarageMode. If\nDownloadService and SyncManager want to run, we will allow them to run\ntoo.\n\n* The headunit is treated as wall power device, so it\u0027s always charging.\nThe charging state will not toggle.\n\nChange-Id: I55b92cf92efd61c48dd6c9b8197c2b68078a4439\n"
    },
    {
      "commit": "75431fbe361e16cfdc43c16cc65b86b8dab39e82",
      "tree": "1401723427775bc9c1ffa7b479254bf55f3454bb",
      "parents": [
        "b68d2d5b68dc58fb7b75ce94af74de58a1b9d3f9"
      ],
      "author": {
        "name": "Rubin Xu",
        "email": "rubinxu@google.com",
        "time": "Thu Jan 07 21:12:14 2016 +0000"
      },
      "committer": {
        "name": "Rubin Xu",
        "email": "rubinxu@google.com",
        "time": "Fri Jan 15 17:18:49 2016 +0000"
      },
      "message": "Add JNI bridge to the new logd security buffer.\n\nBug: 26127031\nBug: 22860162\nChange-Id: I14e08850ece7d9c0229b7213ee2e25cd089defc1\n"
    },
    {
      "commit": "3da7357951a1981ecf40391e19ad8e53b45cb046",
      "tree": "cfc394e8b0a0137a3a7203827c7248c718a7cb3c",
      "parents": [
        "f1fc5a0fe802f8cbf477b1ef54b25127818e091d",
        "e540b64aaf58460f7930a5e4937cee660215c948"
      ],
      "author": {
        "name": "Etan Cohen",
        "email": "etancohen@google.com",
        "time": "Fri Jan 15 01:29:48 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jan 15 01:29:48 2016 +0000"
      },
      "message": "Merge \"NAN: baseline NAN manager for discovery.\" into mm-wireless-dev\nam: e540b64aaf\n\n* commit \u0027e540b64aaf58460f7930a5e4937cee660215c948\u0027:\n  NAN: baseline NAN manager for discovery.\n"
    },
    {
      "commit": "20d329b08df7d1a94e6caee781f09e812a79c913",
      "tree": "d20d232df7945b7cfbfa5f8950317017e45bd625",
      "parents": [
        "4a4345b681f430bc76bed964eb3d4d569539130e"
      ],
      "author": {
        "name": "Etan Cohen",
        "email": "etancohen@google.com",
        "time": "Tue Sep 29 13:49:02 2015 -0700"
      },
      "committer": {
        "name": "Etan Cohen",
        "email": "etancohen@google.com",
        "time": "Thu Jan 14 11:34:07 2016 -0800"
      },
      "message": "NAN: baseline NAN manager for discovery.\n\nInitial framework for user API (all @hide for now). Supports:\n- NAN configuration\n- Publish/Subscribe \u003d Discovery\n- Message passing\n- Notifications\n\nBug: 26216681\nChange-Id: I72e467756a02f7b80c52fae916b9a47c8174af42\n"
    },
    {
      "commit": "14ef09514b9e82922b442f6ab6c8300bced8432f",
      "tree": "e73ae8e13d8ef6be80298178d352d634c6ce1df9",
      "parents": [
        "a2477acec97b78a44486436b85ec153361287687"
      ],
      "author": {
        "name": "Pavel Zhamaitsiak",
        "email": "pavelz@google.com",
        "time": "Mon Jan 04 15:54:31 2016 -0800"
      },
      "committer": {
        "name": "Ian Pedowitz",
        "email": "ijpedowitz@google.com",
        "time": "Wed Jan 13 15:09:16 2016 -0800"
      },
      "message": "Add ITelephonyDebug.aidl\n\n(cherry picked from commit f91818ca3458f9c1f1d6b6d278f8d6cc2fc14511)\n\nChange-Id: Ie3c846a90632e3afa793e6e60f5a3390a260c5a5\n"
    },
    {
      "commit": "01208118b3ba5bfa3a79725bc4d15d3924ec1a5d",
      "tree": "0fd00e48ffbe8fd8a1c9307caa81edb34782edcc",
      "parents": [
        "3242734d05df634f57cdc751fc204268783686a6",
        "3caecaec6082c59bc1605c86be692b2ae0f85ee1"
      ],
      "author": {
        "name": "Samuel Tan",
        "email": "samueltan@google.com",
        "time": "Wed Jan 13 13:42:00 2016 -0800"
      },
      "committer": {
        "name": "Samuel Tan",
        "email": "samueltan@google.com",
        "time": "Wed Jan 13 13:42:00 2016 -0800"
      },
      "message": "resolve merge conflicts of 3caecaec60 to master.\n\nChange-Id: Ic3e9909c69f03a6ef1911a6b7589afbc02d7494f\n"
    },
    {
      "commit": "ab064b3b3687424e14dccfd60ff9a8f93ec22c23",
      "tree": "51d153de4606a90f3beac1ea6a419304d2ae6fc9",
      "parents": [
        "4fce66668e45429bbba49b9fb35d3b8d095a466c",
        "2034a4c4c5edd1516d03b73a8c8d8600eb3d4cbc"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Wed Jan 13 18:21:00 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 13 18:21:00 2016 +0000"
      },
      "message": "Merge \"Add a way for SystemUI to receive media resource (e.g. A/V codec) usage\""
    },
    {
      "commit": "d3c71f075b139024e2bea39bbd75e3b976bfb7cb",
      "tree": "34a820191708d51cee417e8f528cf0088f95d86a",
      "parents": [
        "3b61d2dfe37898072c227013d427ce69f9158eab"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Dec 07 11:59:31 2015 -0800"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Jan 12 16:10:42 2016 -0800"
      },
      "message": "Audio recording notification API\n\nAudioService can register a recording callback with AudioSystem.\nCallbacks are handled in a new class, RecordingActivityMonitor.\nThis class notifies registered AudioManager instances\n  of updates, only if this AudioManager has client callbacks.\nEach AudioManager dispatches updates to its registered\n  callbacks.\n\nBug 22876530\n\nChange-Id: I95c6e5ec0631e53af53a490bcecca96089490089\n"
    },
    {
      "commit": "239951a91eedfc4c45b80f01264da8ec1ef10e3a",
      "tree": "d0d3e55eb395ea1ea13e427eba59878b73558056",
      "parents": [
        "a15ef2abab566468af66d431303a1645069dd094"
      ],
      "author": {
        "name": "Samuel Tan",
        "email": "samueltan@google.com",
        "time": "Tue Jan 05 17:29:43 2016 -0800"
      },
      "committer": {
        "name": "Samuel Tan",
        "email": "samueltan@google.com",
        "time": "Tue Jan 12 14:43:32 2016 -0800"
      },
      "message": "Remove PersistableBundle.aidl from Java framework\n\nRemove PersistableBundle.aidl from the Java framework, since it\nhas been moved to the native libbinder.\n\nBUG: 26292234\nChange-Id: Ia3dc49a3ad92f4c579e6dff0606c1db8fb3be76b\nTEST: aosp_arm builds successfully.\n"
    },
    {
      "commit": "2034a4c4c5edd1516d03b73a8c8d8600eb3d4cbc",
      "tree": "592461a4450513754af35173ab23bbd378e7dc0a",
      "parents": [
        "d68cc200ec2f420df0c9c0e67628e7bf2e47e2d6"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Mon Dec 14 21:57:34 2015 +0900"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Tue Jan 12 10:54:34 2016 -0800"
      },
      "message": "Add a way for SystemUI to receive media resource (e.g. A/V codec) usage\n\nBug: 26175834\nChange-Id: If506a533c5c7b567e770217a9430bf68b539677a\n"
    },
    {
      "commit": "a6c934e2a3e6ddec6549cea55b7bece02348c6f8",
      "tree": "a6b9bd98b3d2a278a5b8af63a0040eca63ce34d8",
      "parents": [
        "0429f3522bca5bb86378dd3f013f995484ddbed6"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Mon Dec 21 13:22:31 2015 +0100"
      },
      "committer": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Tue Jan 05 13:49:41 2016 +0100"
      },
      "message": "Use different asset when docked stack exists\n\n- Add the ability to add a listener when the existence of the\ndocked stack changes.\n- Register SystemUI as such a listener and switch the recents\nbutton asset when docked stack exists.\n\nChange-Id: I05350878c5adc7ad9f0399f0c42d8d1615d44d02\n"
    },
    {
      "commit": "f91818ca3458f9c1f1d6b6d278f8d6cc2fc14511",
      "tree": "344f2be54ae1b8bd24607f08810fc6e0dc0307e1",
      "parents": [
        "d2cf0ce9c17cd37a12827882b3a10512d2904103"
      ],
      "author": {
        "name": "Pavel Zhamaitsiak",
        "email": "pavelz@google.com",
        "time": "Mon Jan 04 15:54:31 2016 -0800"
      },
      "committer": {
        "name": "Pavel Zhamaitsiak",
        "email": "pavelz@google.com",
        "time": "Mon Jan 04 15:54:31 2016 -0800"
      },
      "message": "Add ITelephonyDebug.aidl\n\nChange-Id: I0f111a56b471bd8c8092d30e7157bc06b5da3769\n"
    },
    {
      "commit": "51017d0e23ce9855fabcf786a2067ceb19121fbc",
      "tree": "48d2c9e0f88cb34a55bb40aa6e8c807148388a08",
      "parents": [
        "4a5b54fb3b02db53c1f46aafe07a318bdc5d7e3c"
      ],
      "author": {
        "name": "Chris Wren",
        "email": "cwren@android.com",
        "time": "Tue Dec 15 15:34:46 2015 -0500"
      },
      "committer": {
        "name": "Chris Wren",
        "email": "cwren@android.com",
        "time": "Mon Jan 04 11:22:37 2016 -0500"
      },
      "message": "implement assistant service connection\n\nAdded a guest-mode to ManagedServices.\nLike system services, the lifecycle of a guest is not managed.\nUnlike system services, guests are not considered privledged.\n\nThe Assistant gets all the usual listener events.\nImplemented adjustImportance.\nFuture work: enqueued, clicked, visibility, removed, annotations\n\nBug: 22455414\nChange-Id: Ic41c0bf625b5e98cb577b49098bba23a539bb507\n"
    },
    {
      "commit": "a70412b2065aba086bca7455e8fdc72f3aecc2a7",
      "tree": "f9169ee4d16b238964ae076f98b8ae93409dc738",
      "parents": [
        "bb02b6704d0b16eaa2dab22d30ff2c8dbafa40e2"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Jul 27 14:02:11 2015 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Tue Dec 22 13:10:55 2015 +0000"
      },
      "message": "Use libcore/known_oj_tags for the javadoc stage.\n\nHelps us process (and discard) OpenJdk specific javadoc tags.\n\n(cherry picked from commit 2c4f2843f4aa904c27dc78086bff039dbd295959)\n\nChange-Id: Ib90ce70509fefa24608067db18cfc21c6c5d0590\n"
    },
    {
      "commit": "62ed63185c4fb9fa5fb74c7bddcf9885fa06ac6d",
      "tree": "96aff6423f1ee864ca348c554dd8fb9e75ced003",
      "parents": [
        "76a9e55a8fd751e747511a9c7d02dddca31964c3"
      ],
      "author": {
        "name": "Piotr Jastrzebski",
        "email": "haaawk@google.com",
        "time": "Tue Feb 17 16:58:52 2015 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Tue Dec 22 13:10:55 2015 +0000"
      },
      "message": "Add core-oj to the list of core library jars.\n\nWith some core classes moved to separate core-oj jar\nwe need to use the new jar.\n\n(cherry picked from commit cfa292e1dad184648bf673167f3f35b4fb34fc93)\n\nChange-Id: Iba481c3df029902a2bd0f9661d0819f4a191b2aa\n"
    },
    {
      "commit": "bb9f686b40743df2642b7d3b7778dbf7284ae665",
      "tree": "739c0a8bb1458793decc646a901adff34804adba",
      "parents": [
        "b819f8983f72b0642a3e1f889a3de31d35484c22"
      ],
      "author": {
        "name": "Philip P. Moltmann",
        "email": "moltmann@google.com",
        "time": "Tue Dec 01 14:44:24 2015 -0800"
      },
      "committer": {
        "name": "Philip P. Moltmann",
        "email": "moltmann@google.com",
        "time": "Mon Dec 21 09:54:57 2015 -0800"
      },
      "message": "Allow a print service to specify per printer icons, description and\ninfo-activities\n\nThe icon is loaded from the discovery session only when it is displayed\nto avoid having to store too many icons in memory.\n\nAlso the icons are not maintained in the historical printers. Only if\nthe printers are available nice icons are shown. A historical printer is\nupdated with the appropriate properties (including icon) once it becomes\navailable.\n\nBug: 24135005\nChange-Id: Iec389bab514b024634be8fb5fc8928371cba8740\n"
    },
    {
      "commit": "1ac1e3104c9c6925866611418d418c2fe93ab8a5",
      "tree": "d072a49795a54fb41e46aa957632fb32064967ed",
      "parents": [
        "31c2ac78d9d6a5385eee9995f6c6bc762c5a697f",
        "7eba593b8d88a9b087f06ef146d82c4c77a92473"
      ],
      "author": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Thu Dec 17 19:15:30 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 17 19:15:30 2015 +0000"
      },
      "message": "Merge \"Aidl it all!\""
    },
    {
      "commit": "9149d2b117aef40f38a7d62c0f8c2bb76eb4e244",
      "tree": "39312e69085bcc0814624c0ee1ad25a5086904c7",
      "parents": [
        "3a0ea6254d9ff95d09ca4ab099ac513f6804ec77"
      ],
      "author": {
        "name": "Vladislav Kaznacheev",
        "email": "kaznacheev@google.com",
        "time": "Tue Dec 15 12:16:28 2015 -0800"
      },
      "committer": {
        "name": "Vladislav Kaznacheev",
        "email": "kaznacheev@google.com",
        "time": "Wed Dec 16 17:10:36 2015 -0800"
      },
      "message": "Rename and simplify DropPermissionHolder\n\nRename DropPermissionHolder to DropPermissions and move\nall server-side implementation details into a separate class.\nRename DragEvent.getDropPermissionHolder to\nrequestDropPermissions and make it take the permissions\nimplicitly.\n\nChange-Id: Ia83f7cb8af07ce13ba9536d24b0f9d63331d8736\n"
    },
    {
      "commit": "7eba593b8d88a9b087f06ef146d82c4c77a92473",
      "tree": "bcad6bb5e0a925f0c7f1cbbfe656abb611868d9f",
      "parents": [
        "8322ed39a744cc684d2da5c05d716fca6b3935d3"
      ],
      "author": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Fri Dec 11 16:40:39 2015 -0500"
      },
      "committer": {
        "name": "Chris Wren",
        "email": "cwren@android.com",
        "time": "Wed Dec 16 10:16:23 2015 -0500"
      },
      "message": "Aidl it all!\n\nChange-Id: Ic12e2305a947749a714102a8133321ae07599950\n"
    },
    {
      "commit": "4aa47e58c4f8d654981a9d6a7362c8bb8b2a7e30",
      "tree": "6a79d172b6d22dbf3c897eec2a4bc69609df6bdf",
      "parents": [
        "13a6158d6e516b9ea4ecf159a131332bcee42c86"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Oct 01 10:24:31 2015 -0700"
      },
      "committer": {
        "name": "Randy Pan",
        "email": "zpan@google.com",
        "time": "Thu Dec 10 16:06:50 2015 -0800"
      },
      "message": "DO NOT MERGE Introduce direct listener API for alarm delivery\n\nThe Alarm Manager now supports a set() variant that takes a listener\ncallback to invoke at alarm trigger time rather than a PendingIntent.\nThis is much lower overhead and has guaranteed low delivery latency\nfrom the trigger time.  The tradeoff is that the app must be running\n*continuously* from the time the alarm is set to the time it is\ndelivered.  If the app exits for any reason before the alarm fires,\nthe listener becomes invalid and the alarm will be dropped.  This is\nmore or less equivalent to setting an alarm with a broadcast\nPendingIntent that matches only a runtime-registered receiver.\n\nThe app\u0027s alarm listener can be any object that implements the new\nAlarmManager.OnAlarmListener interface and implements its onAlarm()\nmethod.  There is no data delivered at alarm trigger time: whatever\nstate needs to be associated with the specific alarm instance should\nsimply be packaged inside the OnAlarmListener instance.\n\nAn alarm using OnAlarmListener can request that the onAlarm() method\nbe called on an arbitrary handler.  If the program passes \u0027null\u0027 for\nthis parameter when setting the alarm, the callback occurs on the\napplication\u0027s main Looper thread.\n\nCherry-picked from 14a7bb0d370fffdf902a4e2345f46754ed2d7684\nBug 20157436\n\nChange-Id: I2eb030a24efdd466a2eee1666c5231201b43684b\n"
    },
    {
      "commit": "255d41dce1194b2edf3c4c1a5ece7f764fd40707",
      "tree": "f95c1b20723c508836c229b14030e5dd09084b67",
      "parents": [
        "d0266d3b63ea48a1d8bac412f5564c2a909926d9"
      ],
      "author": {
        "name": "Jan Nordqvist",
        "email": "jannq@google.com",
        "time": "Tue Sep 22 15:54:32 2015 -0700"
      },
      "committer": {
        "name": "Randy Pan",
        "email": "zpan@google.com",
        "time": "Thu Dec 10 16:06:50 2015 -0800"
      },
      "message": "DO NOT MERGE Hotspot 2.0 relase 2 first cut.\n\nCP mods to take a URL as a parameter, and new ScanInfo object.\n\nCherry-picked from 52eb29f0822f129f2b14bacec23dd492f2260ac0\nChange-Id: Idbb2d4751c575ba07a56942771e2b2955b624635\n"
    },
    {
      "commit": "9f93d375ce230603b03ed3fce1002f9648f4a667",
      "tree": "5b60d1ab604182aa9be33700d4b578b3e386a930",
      "parents": [
        "0b2664913fec4103a09ffc5e08f5e55d3c4a620d",
        "827902553d2642a3ed82553e1e5b6214960c3986"
      ],
      "author": {
        "name": "George Mount",
        "email": "mount@google.com",
        "time": "Fri Dec 04 10:15:08 2015 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Dec 04 10:15:08 2015 -0800"
      },
      "message": "Remove accidentally left-in commented out line. am: 8e6fc083fe\nam: 827902553d\n\n* commit \u0027827902553d2642a3ed82553e1e5b6214960c3986\u0027:\n  Remove accidentally left-in commented out line.\n"
    },
    {
      "commit": "8e6fc083fe33543fa3ffd3bbfd25fa937f4ec7bf",
      "tree": "84c6e14f9c3144e8e1270c33895aa14cbc326d59",
      "parents": [
        "f6be99340769cae717a604c7362f85830e4601c6"
      ],
      "author": {
        "name": "George Mount",
        "email": "mount@google.com",
        "time": "Thu Dec 03 10:53:15 2015 -0800"
      },
      "committer": {
        "name": "George Mount",
        "email": "mount@google.com",
        "time": "Thu Dec 03 10:53:15 2015 -0800"
      },
      "message": "Remove accidentally left-in commented out line.\n\nChange-Id: Ic49b371a5138591051cd10e302e27535b165b2b3\n"
    }
  ],
  "next": "e1abaa631ebd67ad1058f751ebe3d91eb7268d78"
}
