)]}'
{
  "log": [
    {
      "commit": "2f7d292596bdba15e441046e3a2e047f37d6ea59",
      "tree": "15f32da5db99f013d1364d6120d4a225ceb97cec",
      "parents": [
        "8382f98f6246c514106ca2bd88ab9f3c8d2ff5c8"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Thu Oct 29 13:08:29 2015 +0100"
      },
      "committer": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Fri Nov 06 16:12:59 2015 +0100"
      },
      "message": "Supply app transition specs with a future\n\nBecause we retain activity surfaces now, the app transition specs\nwhich were calculated/generated after the onPause() call when going\nfrom recents -\u003e app were too slow. Instead, supply a cross-process\nfuture, which gets fetched when the window manager is about to be\nready to execute the app transition. In practice, this still gets\nexecuted immediately after the onPause call.\n\nIf we have a retained surface, this adds some latency, but since we\nabsolutely need the specs to execute the transition, we have that\nlatency no matter where exactly we generate the specs.\n\nIf we don\u0027t have a retained surface, the specs are not calculated on\nthe critical path, so it\u0027s faster.\n\nBug: 19940527\nChange-Id: I80d2c6f6b3a6568a70339619ecefbc3bd8409bd8\n"
    },
    {
      "commit": "14a7bb0d370fffdf902a4e2345f46754ed2d7684",
      "tree": "7ca15b9a69b6df287d0cc96b1d1da7f51b347c95",
      "parents": [
        "2d3c59c389bbd74b4efb02b9021e34e970ba4603"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Oct 01 10:24:31 2015 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Oct 30 12:14:15 2015 -0700"
      },
      "message": "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\nBug 20157436\n\nChange-Id: I2eb030a24efdd466a2eee1666c5231201b43684b\n"
    },
    {
      "commit": "bc8654748f873392a52ed7ea0349df30c07006c5",
      "tree": "ad5e61f8f5bc9349cb5b416a879d8add91611770",
      "parents": [
        "461ba0ce4a1a659ee01073d37a09a109fee41857",
        "8faa19c8260d77c5ad7abc061bc06bc596be7c2b"
      ],
      "author": {
        "name": "Bryce Lee",
        "email": "brycelee@google.com",
        "time": "Thu Oct 29 18:17:41 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Oct 29 18:17:41 2015 +0000"
      },
      "message": "Merge \"Revert \"Declare new interface for headset client bluetooth profile to query.\"\" into cw-e-dev am: 0a80294c81 am: 2adf45bee0\nam: 8faa19c826\n\n* commit \u00278faa19c8260d77c5ad7abc061bc06bc596be7c2b\u0027:\n  Revert \"Declare new interface for headset client bluetooth profile to query.\"\n"
    },
    {
      "commit": "461ba0ce4a1a659ee01073d37a09a109fee41857",
      "tree": "26dc5832bc2bd779cf9250aca2279d1d19c06938",
      "parents": [
        "9b172f08b284ae21f57db29c2f91922994fb07ae",
        "2b47b6eed247acc95a2d27980b2d20e43c852946"
      ],
      "author": {
        "name": "Bryce Lee",
        "email": "brycelee@google.com",
        "time": "Thu Oct 29 18:15:23 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Oct 29 18:15:23 2015 +0000"
      },
      "message": "Merge \"Declare new interface for headset client bluetooth profile to query.\" into cw-e-dev am: a841973dee am: 8b4f21b108\nam: 2b47b6eed2\n\n* commit \u00272b47b6eed247acc95a2d27980b2d20e43c852946\u0027:\n  Declare new interface for headset client bluetooth profile to query.\n"
    },
    {
      "commit": "8faa19c8260d77c5ad7abc061bc06bc596be7c2b",
      "tree": "1bbb5b2888ee9d05634afb01f54a17c5a950d849",
      "parents": [
        "2b47b6eed247acc95a2d27980b2d20e43c852946",
        "2adf45bee0b423fa6ca758b806a16b968c0a3c65"
      ],
      "author": {
        "name": "Bryce Lee",
        "email": "brycelee@google.com",
        "time": "Thu Oct 29 05:19:19 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Oct 29 05:19:19 2015 +0000"
      },
      "message": "Merge \"Revert \"Declare new interface for headset client bluetooth profile to query.\"\" into cw-e-dev am: 0a80294c81\nam: 2adf45bee0\n\n* commit \u00272adf45bee0b423fa6ca758b806a16b968c0a3c65\u0027:\n  Revert \"Declare new interface for headset client bluetooth profile to query.\"\n"
    },
    {
      "commit": "70d4210e2ecbc2b3a4d1f6665ef9410bff64e4a6",
      "tree": "91cdb414aa7d6081e36b1ac5e4294195eba743aa",
      "parents": [
        "694251eaaa8ea70a9b0427d55e9ede437c83a6d5"
      ],
      "author": {
        "name": "Bryce Lee",
        "email": "brycelee@google.com",
        "time": "Thu Oct 29 04:58:38 2015 +0000"
      },
      "committer": {
        "name": "Bryce Lee",
        "email": "brycelee@google.com",
        "time": "Thu Oct 29 04:58:38 2015 +0000"
      },
      "message": "Revert \"Declare new interface for headset client bluetooth profile to query.\"\n\nThis reverts commit 694251eaaa8ea70a9b0427d55e9ede437c83a6d5.\n\nChange-Id: I588206d8aedb96254c27494dddb32ddc3b6ea0ea\n"
    },
    {
      "commit": "2b47b6eed247acc95a2d27980b2d20e43c852946",
      "tree": "cfb56a3d6fc3f68eb855a270ee01939b23f4def1",
      "parents": [
        "a1b8d77ca3ea6cc5e851dce8701785524e3049eb",
        "8b4f21b108828c08833767c1f3f908e1cd7f8477"
      ],
      "author": {
        "name": "Bryce Lee",
        "email": "brycelee@google.com",
        "time": "Thu Oct 29 04:53:01 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Oct 29 04:53:01 2015 +0000"
      },
      "message": "Merge \"Declare new interface for headset client bluetooth profile to query.\" into cw-e-dev am: a841973dee\nam: 8b4f21b108\n\n* commit \u00278b4f21b108828c08833767c1f3f908e1cd7f8477\u0027:\n  Declare new interface for headset client bluetooth profile to query.\n"
    },
    {
      "commit": "694251eaaa8ea70a9b0427d55e9ede437c83a6d5",
      "tree": "760a8a18045cffb190bde4539d8ac41a86de0b1a",
      "parents": [
        "337495bded9c4035a922274143c1ab119e692bdd"
      ],
      "author": {
        "name": "Bryce Lee",
        "email": "brycelee@google.com",
        "time": "Wed Oct 28 21:06:27 2015 -0700"
      },
      "committer": {
        "name": "Bryce Lee",
        "email": "brycelee@google.com",
        "time": "Wed Oct 28 21:06:27 2015 -0700"
      },
      "message": "Declare new interface for headset client bluetooth profile to query.\n\nThis is needed in order to allow implementations of the HFP HF side to\ndefine when audio can be routed to the device. This allows for calls dialed\nfrom an AG to be kept on the AG if desired.\n\nBug: 25332357\nChange-Id: I35a554cfc53f88c7dd3059bf52df5c69df9c7415\n"
    },
    {
      "commit": "108d04cccf5054cedbd39f43066e9f611c0e2d1c",
      "tree": "ca4185337b27cc03949c9440b0ab4ce0f3dacc76",
      "parents": [
        "e24807390234114a3dafba71c5211da439ec0f63",
        "144af426cde3ce336ed9f670ae596807a14ab809"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Mon Oct 26 10:24:00 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Oct 26 10:24:00 2015 +0000"
      },
      "message": "Merge \"Adjust for changes to libcore/Docs.mk\" am: f5e3398596 am: c08debc23a\nam: 144af426cd\n\n* commit \u0027144af426cde3ce336ed9f670ae596807a14ab809\u0027:\n  Adjust for changes to libcore/Docs.mk\n"
    },
    {
      "commit": "144af426cde3ce336ed9f670ae596807a14ab809",
      "tree": "345d34e091f97c7b45dc28a45e8d7436e0997c36",
      "parents": [
        "f58fc291a855c2f8ec4f493b0a54af668271714b",
        "c08debc23ab0dfa38cab168f4c631b15b2b17d64"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Mon Oct 26 10:17:55 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Oct 26 10:17:55 2015 +0000"
      },
      "message": "Merge \"Adjust for changes to libcore/Docs.mk\" am: f5e3398596\nam: c08debc23a\n\n* commit \u0027c08debc23ab0dfa38cab168f4c631b15b2b17d64\u0027:\n  Adjust for changes to libcore/Docs.mk\n"
    },
    {
      "commit": "c08debc23ab0dfa38cab168f4c631b15b2b17d64",
      "tree": "d9213fd1d8df9177d8f642856381472b85cdaa38",
      "parents": [
        "b0cc47efe5d7c200fe7d527c8c17d0854dfe3d35",
        "f5e33985964c3e7acf6b9cd16d94a110e4f9a42d"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Mon Oct 26 10:11:23 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Oct 26 10:11:23 2015 +0000"
      },
      "message": "Merge \"Adjust for changes to libcore/Docs.mk\"\nam: f5e3398596\n\n* commit \u0027f5e33985964c3e7acf6b9cd16d94a110e4f9a42d\u0027:\n  Adjust for changes to libcore/Docs.mk\n"
    },
    {
      "commit": "f9611149975496daa895842a500f3e4b22c7a099",
      "tree": "069e69649223991e746254eb8d8fe6969c729d18",
      "parents": [
        "f916524f44c9955e7c747e5319d17c46a61a3c4c"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Wed Oct 07 10:30:56 2015 +0100"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Wed Oct 21 16:47:04 2015 +0100"
      },
      "message": "Adjust for changes to libcore/Docs.mk\n\nThe paths in libcore_to_document are now relative to\nthe build root, not libcore.\n\nBug: 22023363\nChange-Id: I75c86d6332e5eaedc67dd0d3207491aa91c02a5f\n"
    },
    {
      "commit": "61cf82778f7e3f7454778e5ef7c691857dac16e9",
      "tree": "d2439ef1818b06f2cb4dd8565e4c11b497a00b83",
      "parents": [
        "f807c4fc9e9a67aeec2c761e391dc1ed7ace3b1a",
        "92ae0a5480f8ac2107688bf2f6bb58d49cb52bd1"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Tue Oct 13 18:21:44 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Oct 13 18:21:44 2015 +0000"
      },
      "message": "am 92ae0a54: am 7bbb6fed: am 977fe03b: BLE-MIDI: change binding for BluetoothMidiService\n\n* commit \u002792ae0a5480f8ac2107688bf2f6bb58d49cb52bd1\u0027:\n  BLE-MIDI: change binding for BluetoothMidiService\n"
    },
    {
      "commit": "977fe03b36a7783f9cee8497efe550a69b128473",
      "tree": "d4b796103d255c84b0cde4ca0e0410cc6b8b1bf1",
      "parents": [
        "c024de3c946c18e8e4799eb8d372fdec3146f8cf"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Sep 03 14:37:03 2015 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Oct 13 15:40:03 2015 +0000"
      },
      "message": "BLE-MIDI: change binding for BluetoothMidiService\n\nAdd a remote call addBluetoothDevice() using AIDL.\nThis was needed because onBind() is only called once.\n\nBug: 23219556\nBug: 23760886\nChange-Id: Id7554ca55d596352d11dbd6ae3e403138a29c864\nSigned-off-by: Phil Burk \u003cphilburk@google.com\u003e\n(cherry picked from commit 7cd06c0b9e087a555d2c5dd4cab5b7eac8497526)\n"
    },
    {
      "commit": "52eb29f0822f129f2b14bacec23dd492f2260ac0",
      "tree": "a3159f3badecc34705a25798f42d166c80eb443c",
      "parents": [
        "7794c359c76843300f191901d36d0c2d03154081"
      ],
      "author": {
        "name": "Jan Nordqvist",
        "email": "jannq@google.com",
        "time": "Tue Sep 22 15:54:32 2015 -0700"
      },
      "committer": {
        "name": "Jan Nordqvist",
        "email": "jannq@google.com",
        "time": "Tue Sep 22 17:24:22 2015 -0700"
      },
      "message": "Hotspot 2.0 relase 2 first cut.\n\nCP mods to take a URL as a parameter, and new ScanInfo object.\n\nChange-Id: Idbb2d4751c575ba07a56942771e2b2955b624635\n"
    },
    {
      "commit": "ede5f5480e58dac9f6ddbd36a3085592d79c98ef",
      "tree": "fa0012988e2144b04742c90706cca39546b679ff",
      "parents": [
        "4dc0c15a6ac0564b2e7d9d8b957795a373d05907"
      ],
      "author": {
        "name": "Vladislav Kaznacheev",
        "email": "kaznacheev@google.com",
        "time": "Wed Jul 15 18:04:04 2015 -0700"
      },
      "committer": {
        "name": "Vladislav Kaznacheev",
        "email": "kaznacheev@google.com",
        "time": "Wed Sep 16 17:35:10 2015 -0700"
      },
      "message": "Handle content URI permissions on drop\n\nChange-Id: I846071f01ecd1eff8e3a54a1806e68e1a4b335d2\n"
    },
    {
      "commit": "7cd06c0b9e087a555d2c5dd4cab5b7eac8497526",
      "tree": "4e3795da8080a9d6733961d727e48ae81234f569",
      "parents": [
        "bba5a1514e83e2a075bd47b22a8d50a9d730653d"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Sep 03 14:37:03 2015 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Tue Sep 08 13:48:16 2015 -0700"
      },
      "message": "BLE-MIDI: change binding for BluetoothMidiService\n\nAdd a remote call addBluetoothDevice() using AIDL.\nThis was needed because onBind() is only called once.\n\nBug: 23219556\nBug: 23760886\nChange-Id: Id7554ca55d596352d11dbd6ae3e403138a29c864\nSigned-off-by: Phil Burk \u003cphilburk@google.com\u003e\n"
    },
    {
      "commit": "56dafdb5ae5f1618e3583c2835759108e8c0d99f",
      "tree": "ceafdb008fe71e7429c5895f1295b77078b781aa",
      "parents": [
        "6b9d1244aa8eff8c210e8ff6ea4f620da2497297",
        "7f7ffa3722ef90a7bf5611221c4a4c9d06823a38"
      ],
      "author": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Thu Sep 03 17:37:10 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Sep 03 17:37:10 2015 +0000"
      },
      "message": "am 7f7ffa37: am 87e4c951: am 59c1a0e1: am 8ae90587: Merge \"Add TabletModeChangedListener for SystemUI.\" into mnc-dr-dev\n\n* commit \u00277f7ffa3722ef90a7bf5611221c4a4c9d06823a38\u0027:\n  Add TabletModeChangedListener for SystemUI.\n"
    },
    {
      "commit": "7f7ffa3722ef90a7bf5611221c4a4c9d06823a38",
      "tree": "927a799b905b0da4de0c31e1b96940416a54b1df",
      "parents": [
        "9f29c39271eb8c23637bf3ff92ae039f35c457d3",
        "87e4c951bf876faefad9f4223f6a568777425ae7"
      ],
      "author": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Thu Sep 03 14:30:27 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Sep 03 14:30:27 2015 +0000"
      },
      "message": "am 87e4c951: am 59c1a0e1: am 8ae90587: Merge \"Add TabletModeChangedListener for SystemUI.\" into mnc-dr-dev\n\n* commit \u002787e4c951bf876faefad9f4223f6a568777425ae7\u0027:\n  Add TabletModeChangedListener for SystemUI.\n"
    },
    {
      "commit": "8ae90587a510f72a176119b1f23add8bc36285b9",
      "tree": "1f919ca6a19605612ef6a8f40337ba28506ae218",
      "parents": [
        "bd5b61c489fb0543c8db29030e57189c273010eb",
        "39e5e947447bc611205404ae6a4690656f1aa0f9"
      ],
      "author": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Thu Sep 03 14:00:52 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 03 14:00:52 2015 +0000"
      },
      "message": "Merge \"Add TabletModeChangedListener for SystemUI.\" into mnc-dr-dev"
    },
    {
      "commit": "6a89feae871e7c4c19ddc2a7d3b74930b85b4584",
      "tree": "69d59aa0ffb82fe6f7878c6d96f2ff0c341d0faa",
      "parents": [
        "1eaecf5c6dc692426f187b5e2edecc6ef3ea21c8",
        "53c5dadbb8ddf0898e91e129aee4a19f1028175a"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Tue Sep 01 16:10:10 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 01 16:10:10 2015 +0000"
      },
      "message": "am 53c5dadb: am d302508d: am 4a306fd7: am 3a464785: Add a private API to get notified about lockout resets\n\n* commit \u002753c5dadbb8ddf0898e91e129aee4a19f1028175a\u0027:\n  Add a private API to get notified about lockout resets\n"
    },
    {
      "commit": "53c5dadbb8ddf0898e91e129aee4a19f1028175a",
      "tree": "914531b5bda33aef6c4dee11b73e8a9bb546320d",
      "parents": [
        "7dd51792e2131891d402b4f86c78afa86b6d5758",
        "d302508d2838000b1dde05d9bfaf5e5181dcf9dc"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Tue Sep 01 01:05:39 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 01 01:05:39 2015 +0000"
      },
      "message": "am d302508d: am 4a306fd7: am 3a464785: Add a private API to get notified about lockout resets\n\n* commit \u0027d302508d2838000b1dde05d9bfaf5e5181dcf9dc\u0027:\n  Add a private API to get notified about lockout resets\n"
    },
    {
      "commit": "3a464785088e7fd206666f640912729533948ce8",
      "tree": "bbd72220a48ec8173ce7a80e9072640e4c643bdb",
      "parents": [
        "70c958c414204b195d4195cdcafe33932087e6b1"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Fri Aug 28 16:59:13 2015 -0700"
      },
      "committer": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Tue Sep 01 00:37:54 2015 +0000"
      },
      "message": "Add a private API to get notified about lockout resets\n\nSystemUI uses it to start authentication again after lockout reset\nexpired.\n\nBug: 22846755\nChange-Id: I90a987c6aa4ac52cc7e7aff1bce262d1db3f12ee\n"
    },
    {
      "commit": "28fa6705bd6ae2ba79fcf54113b86683b47b4dd6",
      "tree": "09e7bd037388adbdc6c68620d556da11c72a256f",
      "parents": [
        "f1935575309f2b4abb00111ebcc9571a90160058",
        "e4d61989aebaee02b8b83f229418e7744278633f"
      ],
      "author": {
        "name": "Daniel Estrada Alva",
        "email": "destradaa@google.com",
        "time": "Wed Aug 26 17:56:18 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Aug 26 17:56:18 2015 +0000"
      },
      "message": "am e4d61989: am f440fe06: am 8ff73b59: Merge \"Cherry-pick: Add callback-based support for HW Activity Recognition.\" into mnc-dr-dev\n\n* commit \u0027e4d61989aebaee02b8b83f229418e7744278633f\u0027:\n  Cherry-pick: Add callback-based support for HW Activity Recognition.\n"
    },
    {
      "commit": "e1a5144a1ddded30dca1e1425739649032a86bac",
      "tree": "5f24a6c13c5a4b159e8cd5d99641b294e6215a1d",
      "parents": [
        "8b86268be3fd713394915cbed3d71cc85f806fe1"
      ],
      "author": {
        "name": "destradaa",
        "email": "destradaa@google.com",
        "time": "Tue Jun 23 17:25:53 2015 -0700"
      },
      "committer": {
        "name": "destradaa",
        "email": "destradaa@google.com",
        "time": "Mon Aug 24 11:43:27 2015 -0700"
      },
      "message": "Cherry-pick: Add callback-based support for HW Activity Recognition.\n\nAdd a callback-based mechanism for GmsCore to connect to Hardware Activity\nRecognition. This allows GmsCore to stop polling to identify if the Android\nplatform supports the functionality or not.\n\nBug: 17112184\nChange-Id: I8f9459cbd15eecd70f6919c6551e6f7a663c732f\n"
    },
    {
      "commit": "e3b07451c3ca7064cb70f1829cf35963cba74bd8",
      "tree": "568f4c9d00cefc149391821c657dbfcbb8a92e17",
      "parents": [
        "be1ad3bdcb599b273d4e96e6a947e835464885ea",
        "bcc26c0201c37d958ff577632958c07f58618c25"
      ],
      "author": {
        "name": "Adrian Roos",
        "email": "roosa@google.com",
        "time": "Fri Aug 21 18:08:58 2015 -0700"
      },
      "committer": {
        "name": "Adrian Roos",
        "email": "roosa@google.com",
        "time": "Fri Aug 21 18:08:58 2015 -0700"
      },
      "message": "resolved conflicts for merge of bcc26c02 to master\n\nChange-Id: I4260ff0d090cfa9741fd3adcfcadcbbff6839388\n"
    },
    {
      "commit": "bcc26c0201c37d958ff577632958c07f58618c25",
      "tree": "55bd47e3110c84c7e429ba8f08a90d4291752d91",
      "parents": [
        "ab023c901598ffb478a78550874cb692217a82a8",
        "69fd61cb9a487e5993098c93113d86c4fb32c304"
      ],
      "author": {
        "name": "Adrian Roos",
        "email": "roosa@google.com",
        "time": "Sat Aug 22 00:40:47 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Aug 22 00:40:47 2015 +0000"
      },
      "message": "am 69fd61cb: am a8bbebd4: am b5e47228: Add StrongAuthTracker\n\n* commit \u002769fd61cb9a487e5993098c93113d86c4fb32c304\u0027:\n  Add StrongAuthTracker\n"
    },
    {
      "commit": "b5e4722891e7bbf2fffcd995af02838667a3abab",
      "tree": "9bf1c0e486b0a7042ddea906a9626fcd41ba38b5",
      "parents": [
        "ab45a217b0002dcf586d529ab8581cacbbfc37e9"
      ],
      "author": {
        "name": "Adrian Roos",
        "email": "roosa@google.com",
        "time": "Fri Aug 14 15:53:06 2015 -0700"
      },
      "committer": {
        "name": "Adrian Roos",
        "email": "roosa@google.com",
        "time": "Fri Aug 21 13:28:00 2015 -0700"
      },
      "message": "Add StrongAuthTracker\n\nBug: 22846469\nBug: 22115393\nChange-Id: I6ef5322d02e540fc043e7f20d3aabf595ce7c224\n"
    },
    {
      "commit": "39e5e947447bc611205404ae6a4690656f1aa0f9",
      "tree": "e3b56256bffed70d030498b2b69520e0adef2cc6",
      "parents": [
        "99b252adc78a0450b7a881aff93a77f6d0e160ce"
      ],
      "author": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Wed Aug 19 22:52:47 2015 +0100"
      },
      "committer": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Fri Aug 21 17:12:22 2015 +0100"
      },
      "message": "Add TabletModeChangedListener for SystemUI.\n\nBug: 23256614\nChange-Id: I6e5d636c24a84846cfad84da800911a469689dda\n"
    },
    {
      "commit": "feb6c0137a3d7d0580681d2d503ca442c236226b",
      "tree": "499668188c8d497a14526cb0fc43587ff7978122",
      "parents": [
        "969a49da77cdae82fb9427b7192c4885d49dd2f8",
        "b854bced88d7ca46284830d9f6b728e2f2363929"
      ],
      "author": {
        "name": "Joe Fernandez",
        "email": "joefernandez@google.com",
        "time": "Thu Aug 13 21:07:06 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Aug 13 21:07:06 2015 +0000"
      },
      "message": "am b854bced: am 9b8bc3dc: am db5b38b2: am 195b1fd2: am 8d149d7f: Merge \"docs: Update developer docs make file to include API 23\" into mnc-dev\n\n* commit \u0027b854bced88d7ca46284830d9f6b728e2f2363929\u0027:\n  docs: Update developer docs make file to include API 23\n"
    },
    {
      "commit": "b854bced88d7ca46284830d9f6b728e2f2363929",
      "tree": "38254adb3b9883592cfbfdd77b969330c5bddb08",
      "parents": [
        "8f517093f27003a4d1c6e8fb083e1a8995bfeb2d",
        "9b8bc3dcba4aa0a2eb5cd3fcb19226c476e4b8d6"
      ],
      "author": {
        "name": "Joe Fernandez",
        "email": "joefernandez@google.com",
        "time": "Thu Aug 13 18:56:07 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Aug 13 18:56:07 2015 +0000"
      },
      "message": "am 9b8bc3dc: am db5b38b2: am 195b1fd2: am 8d149d7f: Merge \"docs: Update developer docs make file to include API 23\" into mnc-dev\n\n* commit \u00279b8bc3dcba4aa0a2eb5cd3fcb19226c476e4b8d6\u0027:\n  docs: Update developer docs make file to include API 23\n"
    },
    {
      "commit": "9f65f0a2c00871fd5fa74e241d46ca65a7d3b40f",
      "tree": "8541a79f82c90f4368c78ca3205990d64f2fea76",
      "parents": [
        "93eef42349133b5857f538f4ea6278ba561fd536",
        "8d149d7ff278c877bf7ccff7cc428cf7ba1db1e4"
      ],
      "author": {
        "name": "Joe Fernandez",
        "email": "joefernandez@google.com",
        "time": "Thu Aug 13 18:33:58 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Aug 13 18:33:58 2015 +0000"
      },
      "message": "am 8d149d7f: Merge \"docs: Update developer docs make file to include API 23\" into mnc-dev\n\n* commit \u00278d149d7ff278c877bf7ccff7cc428cf7ba1db1e4\u0027:\n  docs: Update developer docs make file to include API 23\n"
    },
    {
      "commit": "1827e3230dfc3610780f0ffdb704aa9c142aa22b",
      "tree": "f22299616ad3fa22326f4846b82f0190323e18a4",
      "parents": [
        "ff9912d594bc5cdc10a4a224b9a2296bac50851b"
      ],
      "author": {
        "name": "Joe Fernandez",
        "email": "joefernandez@google.com",
        "time": "Wed Aug 12 19:45:22 2015 -0700"
      },
      "committer": {
        "name": "Joe Fernandez",
        "email": "joefernandez@google.com",
        "time": "Wed Aug 12 19:45:22 2015 -0700"
      },
      "message": "docs: Update developer docs make file to include API 23\n\nChange-Id: I1bb9c37cafdfc7c78c23099a0fde2914f3068485\n"
    },
    {
      "commit": "ee94cfed7192bbae9ac67c278e1295a7eda57a01",
      "tree": "9dde4266c9d9c37577ac3cc631885239020f5e0c",
      "parents": [
        "822b4f3a8d8521ff9e003617858779caf38a1558",
        "ce5f3e0fe6714d3364c6b50ba768f58523661011"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Sat Aug 08 02:48:54 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Aug 08 02:48:54 2015 +0000"
      },
      "message": "am ce5f3e0f: am 14b884c1: am daf8d905: Merge \"Add ICU as a java library for docs.\"\n\n* commit \u0027ce5f3e0fe6714d3364c6b50ba768f58523661011\u0027:\n  Add ICU as a java library for docs.\n"
    },
    {
      "commit": "cf9b82518cc9f5d232a3b460dd8348d42b3132e8",
      "tree": "898834e2eac345c77878b4517622cc932ca5aedc",
      "parents": [
        "1451df28162978ac0609690357d8f0d9e1635c16",
        "14b884c16ecf3a70999fcbd1862f6f1b38b24367"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Fri Aug 07 21:16:51 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Aug 07 21:16:51 2015 +0000"
      },
      "message": "am 14b884c1: am daf8d905: Merge \"Add ICU as a java library for docs.\"\n\n* commit \u002714b884c16ecf3a70999fcbd1862f6f1b38b24367\u0027:\n  Add ICU as a java library for docs.\n"
    },
    {
      "commit": "ce5f3e0fe6714d3364c6b50ba768f58523661011",
      "tree": "0e59e277cd5fd830cd8b962b18784b6a98d5e9cf",
      "parents": [
        "4ecee3f88e067ed0339a4e004996a3c69ce5480e",
        "14b884c16ecf3a70999fcbd1862f6f1b38b24367"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Fri Aug 07 21:12:51 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Aug 07 21:12:51 2015 +0000"
      },
      "message": "am 14b884c1: am daf8d905: Merge \"Add ICU as a java library for docs.\"\n\n* commit \u002714b884c16ecf3a70999fcbd1862f6f1b38b24367\u0027:\n  Add ICU as a java library for docs.\n"
    },
    {
      "commit": "14b884c16ecf3a70999fcbd1862f6f1b38b24367",
      "tree": "6cf6024f6c88c9e4666f2d5618f1e045b9ff5726",
      "parents": [
        "61234deafe78ded05569edfab24536cdb4bd7720",
        "daf8d9056815b7435bdf4d07da3f938f11052691"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Fri Aug 07 14:57:49 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Aug 07 14:57:49 2015 +0000"
      },
      "message": "am daf8d905: Merge \"Add ICU as a java library for docs.\"\n\n* commit \u0027daf8d9056815b7435bdf4d07da3f938f11052691\u0027:\n  Add ICU as a java library for docs.\n"
    },
    {
      "commit": "2e47a6e5dbd034ee7f7a2662d6d7293326d1db8e",
      "tree": "5506efd53140dac0d4e474d8e136808b79495b21",
      "parents": [
        "158560ad66f860ab9bb822f98a0ef9cf3afa922f"
      ],
      "author": {
        "name": "Rayhaan Jaufeerally",
        "email": "rayhaan@google.com",
        "time": "Mon Aug 03 13:54:28 2015 +0100"
      },
      "committer": {
        "name": "Rayhaan Jaufeerally",
        "email": "rayhaan@google.com",
        "time": "Mon Aug 03 13:56:06 2015 +0100"
      },
      "message": "Add ICU as a java library for docs.\n\nChange-Id: Ifd5f0a076e2cbdf0498c209c916d5a55aa12f0ce\n"
    },
    {
      "commit": "6e2fe75624c069bd374da65dc9d6d9ba84b4b5ba",
      "tree": "35e2e95c988ffcd022a8b16e324192798101e121",
      "parents": [
        "38b74bc9ce7e3e10abf98540d86dfcdeb14ceefd"
      ],
      "author": {
        "name": "destradaa",
        "email": "destradaa@google.com",
        "time": "Tue Jun 23 17:25:53 2015 -0700"
      },
      "committer": {
        "name": "destradaa",
        "email": "destradaa@google.com",
        "time": "Mon Jul 27 13:40:21 2015 -0700"
      },
      "message": "Add callback-based support for Hardware Activity Recognition.\nb/17112184\n\nAdd a callback-based mechanism for GmsCore to connect to Hardware Activity\nRecognition. This allows GmsCore to stop polling to identify if the Android\nplatform supports the functionality or not.\n\nChange-Id: I8f9459cbd15eecd70f6919c6551e6f7a663c732f\n"
    },
    {
      "commit": "7840c0a071c6cff891b781e5bfecc190880ad0c6",
      "tree": "c2fb32aeaef7ab7c06e7d35b4918cc63320d4f8b",
      "parents": [
        "71395ee8efaddaf2c279e88bd6d22acba8f1f769",
        "c1244a2995087c930842b7d5e5a35a446c5c40f7"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Wed Jul 22 20:16:55 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jul 22 20:16:55 2015 +0000"
      },
      "message": "am c1244a29: Merge \"Touch, wake and unlock\" into mnc-dev\n\n* commit \u0027c1244a2995087c930842b7d5e5a35a446c5c40f7\u0027:\n  Touch, wake and unlock\n"
    },
    {
      "commit": "740452e8756cb7f51ed185c3906a5ca61b8fcdd4",
      "tree": "f939ae1e7bfaa00404be5b5b38b119c4a7d9079f",
      "parents": [
        "6444fe121449f1cacf4500d3098b590c74e3646d"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Thu Jul 09 12:13:59 2015 -0700"
      },
      "committer": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Mon Jul 20 23:52:20 2015 +0000"
      },
      "message": "Touch, wake and unlock\n\n- Add onFingerprintAcquired, so Keyguard can grab a wakelock to prevent\nthe device from sleeping.\n- If we get a successful fingerprint, wake the device up, immediately\ndismiss the keyguard and tell PWM that we kicked off our frame that\nwill represent the correct state.\n- PWM then waits for this frame to be drawn, and then turns on the\nscreen, which results in unlocking directly to the previsouly\nopened app.\n\nBug: 21855614\nChange-Id: I5f43df17fa5e4e9c6a6392eef4a4590b07df4f96\n"
    },
    {
      "commit": "bb5a76902dbd8f5eac8eeaf474ab205ec32156d7",
      "tree": "ce683181aa4857051ec6aa7edf7c26705b5095af",
      "parents": [
        "a1ca11773a2dd10e7da612df7fe54cb6144ad559",
        "0f92a2e72f1f1bb67a926420fc2e45e2ce607341"
      ],
      "author": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Thu Jul 16 21:36:31 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 16 21:36:34 2015 +0000"
      },
      "message": "Merge \"Using LOCAL_DROIDDOC_STUB_OUT_DIR to specify \"-stubs\" option.\""
    },
    {
      "commit": "0f92a2e72f1f1bb67a926420fc2e45e2ce607341",
      "tree": "756639b295d3a3f44f26b4b1cb41319156383912",
      "parents": [
        "bd36632550a28c53d89afa0a812bd5328c3f13a9"
      ],
      "author": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Thu Jul 16 14:20:22 2015 -0700"
      },
      "committer": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Thu Jul 16 14:20:22 2015 -0700"
      },
      "message": "Using LOCAL_DROIDDOC_STUB_OUT_DIR to specify \"-stubs\" option.\n\nSo that the build system can clean up the stub out dir before\ncalling doclava.\n\nBug: 22534021\nChange-Id: Iba33cf0a295e4ae32fdcad8bd326c2f52de5f875\n"
    },
    {
      "commit": "a97d513ba2068e76755ccf773c748399fd1695a7",
      "tree": "c4f7fbc83ebc561ee6929d416018aaa3be700ad1",
      "parents": [
        "73c489a9b3045b044ca6d670762bee64ce8f6044",
        "a38c00048e5f90e90dbad115d280f7e8a2dffe18"
      ],
      "author": {
        "name": "George Mount",
        "email": "mount@google.com",
        "time": "Thu Jul 16 15:09:45 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jul 16 15:09:45 2015 +0000"
      },
      "message": "am a38c0004: am bf6430a0: am 3d520403: am 30c8245a: Merge \"Add data binding to built javadoc.\" into mnc-dev\n\n* commit \u0027a38c00048e5f90e90dbad115d280f7e8a2dffe18\u0027:\n  Add data binding to built javadoc.\n"
    },
    {
      "commit": "7f35b0d2cc606fb25dcbb295c6b7468ac76322f3",
      "tree": "2e75fef1a066e74f6872ad99f1b7da0125319675",
      "parents": [
        "0f2b3abf61a46396de6170ab4df5f75700afce0c",
        "30c8245afc8d9558b76e5c86f917c22e02f6e820"
      ],
      "author": {
        "name": "George Mount",
        "email": "mount@google.com",
        "time": "Thu Jul 16 14:29:44 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jul 16 14:29:44 2015 +0000"
      },
      "message": "am 30c8245a: Merge \"Add data binding to built javadoc.\" into mnc-dev\n\n* commit \u002730c8245afc8d9558b76e5c86f917c22e02f6e820\u0027:\n  Add data binding to built javadoc.\n"
    },
    {
      "commit": "3d52040359721934231e0e89d45b3bd4179db475",
      "tree": "534a1c703ed8c7bcf2a8313fde21d0f219da28ef",
      "parents": [
        "b298ba48275fb36390398afbe196cc1ef7dae762",
        "30c8245afc8d9558b76e5c86f917c22e02f6e820"
      ],
      "author": {
        "name": "George Mount",
        "email": "mount@google.com",
        "time": "Thu Jul 16 14:29:38 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jul 16 14:29:38 2015 +0000"
      },
      "message": "am 30c8245a: Merge \"Add data binding to built javadoc.\" into mnc-dev\n\n* commit \u002730c8245afc8d9558b76e5c86f917c22e02f6e820\u0027:\n  Add data binding to built javadoc.\n"
    },
    {
      "commit": "30c8245afc8d9558b76e5c86f917c22e02f6e820",
      "tree": "44a083490d28f6f874b77e2314e4c2defd43cac2",
      "parents": [
        "dbdf7c45380f7701e029a279932d2c97bf55fdc9",
        "a340f07670c300c40ffebad547e34abdacab5184"
      ],
      "author": {
        "name": "George Mount",
        "email": "mount@google.com",
        "time": "Thu Jul 16 14:19:08 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 16 14:19:12 2015 +0000"
      },
      "message": "Merge \"Add data binding to built javadoc.\" into mnc-dev"
    },
    {
      "commit": "a82152aaf49b893ad11e6ecdb1fafbef12add586",
      "tree": "6fd92ddda655765a3d01269a7941b64289a30461",
      "parents": [
        "dbc002497775447e600c26e91cf7b744127f4f93",
        "737106a61b0ceb2a6b92e7734b04900b174addce"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu Jul 16 10:26:16 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jul 16 10:26:16 2015 +0000"
      },
      "message": "am 737106a6: am 1ecfdf33: Merge \"docs: Add an explicit dependency on libcore/Docs.mk\"\n\n* commit \u0027737106a61b0ceb2a6b92e7734b04900b174addce\u0027:\n  docs: Add an explicit dependency on libcore/Docs.mk\n"
    },
    {
      "commit": "95b869e282a69cdfa0a4699490ae21da88cc223d",
      "tree": "7a123b53ac554e0fa6093cf6133ebf9cf75ecb18",
      "parents": [
        "d56efb48704f088be5b47465b33da95a15601c13",
        "737106a61b0ceb2a6b92e7734b04900b174addce"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu Jul 16 10:26:10 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jul 16 10:26:10 2015 +0000"
      },
      "message": "am 737106a6: am 1ecfdf33: Merge \"docs: Add an explicit dependency on libcore/Docs.mk\"\n\n* commit \u0027737106a61b0ceb2a6b92e7734b04900b174addce\u0027:\n  docs: Add an explicit dependency on libcore/Docs.mk\n"
    },
    {
      "commit": "737106a61b0ceb2a6b92e7734b04900b174addce",
      "tree": "ba46dfb78ff9de716c140548abd08624aa184e55",
      "parents": [
        "a845514724664d34ef70803c329f93a1264530f6",
        "1ecfdf33ee593c0e80cee5e11f4c0a0fd0071233"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu Jul 16 10:10:28 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jul 16 10:10:28 2015 +0000"
      },
      "message": "am 1ecfdf33: Merge \"docs: Add an explicit dependency on libcore/Docs.mk\"\n\n* commit \u00271ecfdf33ee593c0e80cee5e11f4c0a0fd0071233\u0027:\n  docs: Add an explicit dependency on libcore/Docs.mk\n"
    },
    {
      "commit": "c21739aec81136ba2d41170221125261c360c9bf",
      "tree": "20a2ccde8caa036503e828cfc2a6d6a0e4697229",
      "parents": [
        "2fccb66debb6fb26ba6072ccc83ed56d45cc55fb"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Tue Jul 14 13:39:23 2015 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Thu Jul 16 08:57:05 2015 +0000"
      },
      "message": "docs: Add an explicit dependency on libcore/Docs.mk\n\nWe include libcore sources in apicheck / docs targets so we must\nregenerate the stubs or api definitions whenever the list of libcore\nsources changes.\n\nChange-Id: I9383015069bc4064d5d06d3d540047cd408e24c7\n"
    },
    {
      "commit": "4cfdcf5b0551e5656ea379c428e78b812c2e5cbe",
      "tree": "5c247f5af108122081de8ef2ed204af21070d736",
      "parents": [
        "a05e7ac245c941763c42fcefdb4a342d0e4a9359"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Thu Jul 09 12:13:59 2015 -0700"
      },
      "committer": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Tue Jul 14 21:05:26 2015 +0000"
      },
      "message": "Touch, wake and unlock\n\n- Add onFingerprintAcquired, so Keyguard can grab a wakelock to prevent\nthe device from sleeping.\n- If we get a successful fingerprint, wake the device up, immediately\ndismiss the keyguard and tell PWM that we kicked off our frame that\nwill represent the correct state.\n- PWM then waits for this frame to be drawn, and then turns on the\nscreen, which results in unlocking directly to the previsouly\nopened app.\n\nBug: 21855614\nChange-Id: I0c43bcc9d334b509632704fb0c123ab3351edff2\n"
    },
    {
      "commit": "a340f07670c300c40ffebad547e34abdacab5184",
      "tree": "e995b76e6241a2b9e822953488059083c4a6ef68",
      "parents": [
        "0e7d497c10c4f5096cf4cd32a56784fd18ab0f2c"
      ],
      "author": {
        "name": "George Mount",
        "email": "mount@google.com",
        "time": "Mon Jul 13 16:45:34 2015 -0700"
      },
      "committer": {
        "name": "George Mount",
        "email": "mount@google.com",
        "time": "Mon Jul 13 16:45:34 2015 -0700"
      },
      "message": "Add data binding to built javadoc.\n\nBug 22175560\n\nChange-Id: Ie57e0b77cade4b994ca2ef80cbf1a4c615a943f8\n"
    },
    {
      "commit": "49e3edff5156f471819e4ea2a88994bca70bd870",
      "tree": "829dcedfefd5f7b8dc9a48d2f1e76a18d73d6841",
      "parents": [
        "72a77993bdbc2cec49714b73d222ff213be44041"
      ],
      "author": {
        "name": "Paul Jensen",
        "email": "pauljensen@google.com",
        "time": "Fri May 22 10:50:39 2015 -0400"
      },
      "committer": {
        "name": "Paul Jensen",
        "email": "pauljensen@google.com",
        "time": "Thu Jul 09 10:47:34 2015 -0400"
      },
      "message": "Add android.net.CaptivePortal class for captive-portal-handling-app callbacks\n\nThis new class replaces the awkward string token and ConnectivityManager APIs\nused by apps handling captive portals.\n\nBug:21343774\nChange-Id: I1a2c69edb17322715bf8422bb4216b0ea60bfd59\n"
    },
    {
      "commit": "cdfd230a392d0f0557a3a5bada221b7a05113392",
      "tree": "0b5b561cedbc66c60324cde03fee280ce7d1f678",
      "parents": [
        "e3fc5415ed65ee7ad451069022b5405361aeb2e7"
      ],
      "author": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Thu Jun 25 19:07:31 2015 -0700"
      },
      "committer": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon Jun 29 17:44:19 2015 -0700"
      },
      "message": "Grant default permissons to the default SMS, Phone, Browser app.\n\nThe default SMS, Phone, Browser are selected in the UI and we\ngrant default permissions to these. We do this regardless if\nthey are on the system image as the user has made an explicit\nchoice in the UI and the permission we grant are considered\nessential for such type of a core app to operate properly.\n\nbug:22104986\n\nChange-Id: Ide8caeb524b43dde11a20460666cf34c4d35f84b\n"
    },
    {
      "commit": "2a880312086147577e1e814bda6985fa97fb343b",
      "tree": "58cbe4c66daf8ec1da048e9af62043ded63fd274",
      "parents": [
        "0b50e56c070878211d9003e072128716bee445ba"
      ],
      "author": {
        "name": "Jeff Davidson",
        "email": "jpd@google.com",
        "time": "Mon Jun 22 16:54:34 2015 -0700"
      },
      "committer": {
        "name": "Jeff Davidson",
        "email": "jpd@google.com",
        "time": "Tue Jun 23 09:55:23 2015 -0700"
      },
      "message": "Default permissions for carrier apps.\n\nGrant permissions in the PHONE and LOCATION buckets to default carrier\napps as defined by the telephony stack. Provide a system API to grant\ndefault permissions for carrier apps, as the set of apps may change\nwhen a new SIM is inserted.\n\nSince the phone process is separate from the system process, we need\nto allow for binder calls to these APIs.\n\nAlso fix a log tag that is too long (android.util.Log drops messages\nsilently if the tag is \u003e 23 characters).\n\nBug: 21696731\nChange-Id: I98ca0c49c69f621f835ba57c1fd0505f2cec0d0d\n"
    },
    {
      "commit": "f7c06eb03ab4479b9d0656a23a4733d17e995183",
      "tree": "4f2fd559d9db7eafd59dbef2f2ad2a6bc35d6bff",
      "parents": [
        "970b59cbe377e23e9c681a5cef30c01f730c7377"
      ],
      "author": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Wed Jun 10 18:43:22 2015 -0700"
      },
      "committer": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Wed Jun 10 21:24:13 2015 -0700"
      },
      "message": "Add system API to watch for permission changes\n\nChange-Id: I1ce450a59fb326c14848f46732d877dea33f33c7\n"
    },
    {
      "commit": "8711ed644bab42c03ab9a22c14e1cb2825a107a6",
      "tree": "8a8abc4c6060b4cdb7066c9546b6bdd04d77ce59",
      "parents": [
        "4cf59747f8e23b1d23ee7450541e34826dccbd4f",
        "3d0f09433a6a26e5d47bd567cac2ce69d1e7eb0c"
      ],
      "author": {
        "name": "Prerepa Viswanadham",
        "email": "dham@google.com",
        "time": "Mon Jun 08 23:44:39 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 08 23:44:51 2015 +0000"
      },
      "message": "Merge changes from topic \u0027modemActivityInfo\u0027 into mnc-dev\n\n* changes:\n  API for get modem activity info\n  Activity info and stats from modem\n"
    },
    {
      "commit": "383ce580b1c9e706d1b06a23d81986f3b4ed83fb",
      "tree": "9a672b4825f4f470d03526a3697ad6781ec77c0c",
      "parents": [
        "e4bd7c98323b39a47682216bebf442de206a95dd",
        "e0a6ca64fac5bd4f10139321604031816e90adb4"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Mon Jun 08 19:37:00 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 08 19:37:36 2015 +0000"
      },
      "message": "Merge \"MidiManager: proxy all requests to open devices through MidiService\" into mnc-dev"
    },
    {
      "commit": "20ac61b8c0abd5af4ce32707e01cc1a501cbb7f0",
      "tree": "3836aeef229645f994193f21d38266184428e352",
      "parents": [
        "616bb3d50c79842eeb5183d8637bc3a270a7d1a0",
        "7c74f78a85283912d7239214024ccca702622f21"
      ],
      "author": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Mon Jun 08 16:39:32 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 08 16:39:36 2015 +0000"
      },
      "message": "Merge \"Zen: New user flow for requesting DND access.\" into mnc-dev"
    },
    {
      "commit": "7c74f78a85283912d7239214024ccca702622f21",
      "tree": "226b395ce4cada544a8981c337169c2551dcf274",
      "parents": [
        "ac2e3886e3f129b0ee94bb514e026fe72951b4a8"
      ],
      "author": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Thu Jun 04 13:01:42 2015 -0400"
      },
      "committer": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Mon Jun 08 11:53:35 2015 -0400"
      },
      "message": "Zen: New user flow for requesting DND access.\n\n - User flow is now similar to requesting access to notification\n   content, namely prompting the user to visit a settings page\n   for enabling/disabling apps access.\n - New ACTION_NOTIFICATION_POLICY_ACCESS_GRANTED_CHANGED intent\n   for apps to listen to this state change.\n - Removed obsolete request method and associated internal callback\n   aidl.\n - Added new android.permission.ACCESS_NOTIFICATION_POLICY permission\n   for apps to include as a signal that they want to request this access\n   (and therefore appear in the list on the settings page).\n - Improve javadocs, outline the user flow in NotificationManager#isNotificationPolicyAccessGranted\n   and link to this method elsewhere.\n - NoManService now persists the user-enabled package list across reboots\n   and does so per-user.\n - Rename public settings intent to correspond with the noman api.\n\nBug: 21621663\nChange-Id: I72cbc21cd736e6a157b6be5d1d0ba0b4a8e7ef4e\n"
    },
    {
      "commit": "e0a6ca64fac5bd4f10139321604031816e90adb4",
      "tree": "af84954409f063e07e3845c5b8a8fe703106da7a",
      "parents": [
        "ec7100d0114d50f12c4ad95eaeac61e93a6d5a96"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Thu Jun 04 13:43:56 2015 -0700"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Thu Jun 04 19:16:23 2015 -0700"
      },
      "message": "MidiManager: proxy all requests to open devices through MidiService\n\nPreviously when a MidiManager client opened a virtual or Bluetooth device,\nthe client bound directly to the virtual device\u0027s MidiDeviceService\nor BluetoothMidiDevice\u0027s IMidiDeviceServer for the given BluetoothDevice.\nOnly USB devices were opened in MidiService.\n\nNow opening any type of MIDI device is done via IMidiManager.openDevice() or\nIMidiManager.openBluetoothDevice().  MidiService tracks all connnections between\nclients and devices.\n\nServices that implement virtual devices must now require android.permission.BIND_MIDI_DEVICE_SERVICE\nso only MidiService can bind to these services.\n\nBug: 21044677\n\nChange-Id: I7172f7b1e0cbfe4a2a87dff376c32dc9b41aa563\n"
    },
    {
      "commit": "5c728994311c40821604c6711171e860776659a6",
      "tree": "adac6551c490c17b037a3d680dd8dfd0639ef4df",
      "parents": [
        "de5cdebac7b50871c3ece6ccd0b2a4d7a4b384bc"
      ],
      "author": {
        "name": "Prerepa Viswanadham",
        "email": "dham@google.com",
        "time": "Thu May 28 00:12:37 2015 -0700"
      },
      "committer": {
        "name": "Prerepa Viswanadham",
        "email": "dham@google.com",
        "time": "Fri Jun 05 02:10:51 2015 +0000"
      },
      "message": "Activity info and stats from modem\n\nChange-Id: Ifa8e520673c7e5549b0066a16a744810f1f0730c\n"
    },
    {
      "commit": "69c6adc96eecfde74ceb83cf9177428dc08b6067",
      "tree": "1c9fb3e63573cf0133ad3680d3cc8a048b0874c0",
      "parents": [
        "133b107d28649ef5a984be0acc06f53e49853b22"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jun 02 10:52:59 2015 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jun 02 16:56:41 2015 -0700"
      },
      "message": "More API changes.\n\nStart moving Assist* stuff to android.app.assist.\n\nClean up some more of the VoiceInteractionSession APIs.\n\nClearly document that finish() is not the same as hide(),\nalways call hide() instead, and fix the finish() path to\nalso always do a hide to make sure everything is cleaned\nup correctly.\n\nChange-Id: I962d4069fcb34fe89547a95d395ae1b9fa3b4148\n"
    },
    {
      "commit": "68bca39a6a85c40638b28b7c91f154045afe5b10",
      "tree": "c51f9b2a9ecb12435a9fb2c2fe76648b25ba8a83",
      "parents": [
        "59ac0b14f2c67d502d7bad807d954f9a91ee43ac",
        "42ecc9eb902ef90876cd345a906c24e0d58720a3"
      ],
      "author": {
        "name": "Zach Johnson",
        "email": "zachoverflow@google.com",
        "time": "Wed May 27 23:06:41 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 27 23:06:47 2015 +0000"
      },
      "message": "Merge \"Drop the \"Config\". Just \"CarrierService\". It\u0027s cleaner.\" into mnc-dev"
    },
    {
      "commit": "80d9a4be66a20292083b10d9a4e59e584b225488",
      "tree": "ecf1e71e4f6201d356195ce627143edb9eb7b663",
      "parents": [
        "12e6e6cf9985576bcd5aae8861fca0e7863f5a84",
        "29649e27a3c73d4470dc41e4c9614da55fac1c54"
      ],
      "author": {
        "name": "Trevor Johns",
        "email": "trevorjohns@google.com",
        "time": "Wed May 27 22:56:08 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed May 27 22:56:08 2015 +0000"
      },
      "message": "am 29649e27: am 6ea840d1: am 4cbe359a: Add \\\u0027System\\\u0027 group to DAC sample browser\n\n* commit \u002729649e27a3c73d4470dc41e4c9614da55fac1c54\u0027:\n  Add \u0027System\u0027 group to DAC sample browser\n"
    },
    {
      "commit": "42ecc9eb902ef90876cd345a906c24e0d58720a3",
      "tree": "7f233b309ae6b4c6c7acdef9de6be712fd48adf5",
      "parents": [
        "b2849d9a20ac080c1b29a3b54a1d636080faccc3"
      ],
      "author": {
        "name": "Zach Johnson",
        "email": "zachoverflow@google.com",
        "time": "Fri May 22 15:56:09 2015 -0700"
      },
      "committer": {
        "name": "Zach Johnson",
        "email": "zachoverflow@google.com",
        "time": "Wed May 27 15:30:31 2015 -0700"
      },
      "message": "Drop the \"Config\". Just \"CarrierService\". It\u0027s cleaner.\n\nb/21308727\n\nChange-Id: I6515888c7804349ecd07c4dd74575ef89a4bea59\n"
    },
    {
      "commit": "6ea840d15e66a5d2ba6e70f9e07ff59adb4d6d2a",
      "tree": "66283610ddc0a8d39a464612dbe7ac364f6ff380",
      "parents": [
        "91a90991248b60b07674c321aca19f23f1f2b51e",
        "4cbe359abe26d749b1dbc9cf489a825af0cad005"
      ],
      "author": {
        "name": "Trevor Johns",
        "email": "trevorjohns@google.com",
        "time": "Wed May 27 22:22:53 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed May 27 22:22:53 2015 +0000"
      },
      "message": "am 4cbe359a: Add \\\u0027System\\\u0027 group to DAC sample browser\n\n* commit \u00274cbe359abe26d749b1dbc9cf489a825af0cad005\u0027:\n  Add \u0027System\u0027 group to DAC sample browser\n"
    },
    {
      "commit": "4cbe359abe26d749b1dbc9cf489a825af0cad005",
      "tree": "1737897186cad45ec42ffb86634e9e462dd520ec",
      "parents": [
        "1c673f9abe8b6d931456ce6709c9b00cdb5d11ca"
      ],
      "author": {
        "name": "Trevor Johns",
        "email": "trevorjohns@google.com",
        "time": "Wed May 27 14:50:51 2015 -0700"
      },
      "committer": {
        "name": "Trevor Johns",
        "email": "trevorjohns@google.com",
        "time": "Wed May 27 14:55:49 2015 -0700"
      },
      "message": "Add \u0027System\u0027 group to DAC sample browser\n\nBug: 19708211\nChange-Id: I55ad484647b859fce6c59f0e147523a8a709a527\n"
    },
    {
      "commit": "f4ba7833af54ad6a75803dd678acac57c7f9e26b",
      "tree": "8677be221f5501504391207c3d55a383bb93453c",
      "parents": [
        "67fe970eaaa81b8fb4313ced7a05aac41bf25400",
        "0140854a636ed7def204d769dbc4eb7857d009be"
      ],
      "author": {
        "name": "Dirk Dougherty",
        "email": "ddougherty@google.com",
        "time": "Fri May 22 01:50:32 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri May 22 01:50:32 2015 +0000"
      },
      "message": "am 0140854a: am 85dea528: Doc change: updated images, landings, and ndk updates.\n\n* commit \u00270140854a636ed7def204d769dbc4eb7857d009be\u0027:\n  Doc change: updated images, landings, and ndk updates.\n"
    },
    {
      "commit": "85dea528866217d4b3d40a1162c00c4e836504aa",
      "tree": "a2c59cd1162da852059f3d7f7ab79bc24ecd10d8",
      "parents": [
        "5c7dcb3054bef13896631de04aa45fc77782a1c2"
      ],
      "author": {
        "name": "Dirk Dougherty",
        "email": "ddougherty@google.com",
        "time": "Thu May 21 14:20:25 2015 -0700"
      },
      "committer": {
        "name": "Dirk Dougherty",
        "email": "ddougherty@google.com",
        "time": "Thu May 21 14:33:21 2015 -0700"
      },
      "message": "Doc change: updated images, landings, and ndk updates.\n\nChange-Id: If128f8394438471365db6f7c0a42e6b38d25d250\n"
    },
    {
      "commit": "0a17fb4e562d5375f795ee1301c4aba86443e023",
      "tree": "184b52e90bc8974817e68d082a3948f2a60fafbc",
      "parents": [
        "eff649862be8db389cf8480efa50ca1106dd2117",
        "be67542182e41a6e31cf002db72ec42ee717bd1c"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Thu May 21 00:57:26 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 21 00:57:44 2015 +0000"
      },
      "message": "Merge \"Move from native FingerprintService implementation to fingerprintd\" into mnc-dev"
    },
    {
      "commit": "be67542182e41a6e31cf002db72ec42ee717bd1c",
      "tree": "553427f37953b8b21f27264a9793b0069e3ed2dc",
      "parents": [
        "bdf2d1fa382d4016087b2046beb871e9b3edb8df"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Mon May 11 20:45:25 2015 -0700"
      },
      "committer": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Wed May 20 14:56:06 2015 -0700"
      },
      "message": "Move from native FingerprintService implementation to fingerprintd\n\nThis adds a new service, fingerprintd, that manages fingerprint\nhardware from a separate process.  It provides a binder interface that\nFingerprintManager uses to talk to the fingerprint HAL.\n\nChange-Id: I84d8e407c1f1a7d1a396e246c382459ad38810ae\n"
    },
    {
      "commit": "f082bb2a7f6ad064bbd608d079851c9df18ef0f4",
      "tree": "bf10c010fae2f28835233f99479999c39a8b34ec",
      "parents": [
        "084110bd394b72b42451a266f7e4c5b1348b86de",
        "6664aee15ae2f1183d5c6820bb47c6d7d55806c0"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Wed May 20 20:44:26 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 20 20:44:28 2015 +0000"
      },
      "message": "Merge \"camera: Add AIDL interface for CameraServiceProxy.\" into mnc-dev"
    },
    {
      "commit": "6664aee15ae2f1183d5c6820bb47c6d7d55806c0",
      "tree": "075dc00e2b12c871c52c33ba2f89a649c4277a99",
      "parents": [
        "096c11dc3795120dbc75cc1ee15abaa019fb74d1"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Tue May 19 17:20:24 2015 -0700"
      },
      "committer": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Tue May 19 17:20:24 2015 -0700"
      },
      "message": "camera: Add AIDL interface for CameraServiceProxy.\n\n- Adds an AIDL interface to allow the proxy camera service\n  running in system server to accept RPCs from the camera\n  service running in mediaserver.\n- Request an update to the valid user set from the proxy\n  camera service when mediaserver restarts to initialize\n  properly + avoid DOS after a crash.\n\nBug: 21267484\nChange-Id: Ib821582794ddd1e3574b5dc6c79f7cb197b57f10\n"
    },
    {
      "commit": "7bcaf9a997547b14e9b755c53926aa39dde8973f",
      "tree": "fb83cff3a8d0179ba0c93ad73784bc14ea22c44e",
      "parents": [
        "838a7e50eba73d4e5289ea3975636a0c841bea70"
      ],
      "author": {
        "name": "Yohann Roussel",
        "email": "yroussel@google.com",
        "time": "Mon Sep 08 14:53:12 2014 +0200"
      },
      "committer": {
        "name": "Yohann Roussel",
        "email": "yroussel@google.com",
        "time": "Tue May 19 18:17:39 2015 +0200"
      },
      "message": "[DO NOT MERGE] Allow compilation with Jack.\n\nAdapt to Jack compilation specifics.\n\nFix bad import in VideoDumpActivity.\nThe extra semicolumn is ignored by javac because of\nhttps://bugs.openjdk.java.net/browse/JDK-8027682 but is not\npermitted by ecj or Jack.\n\nThis includes cherry-picks of the following changes:\n248ef6f9c414db26fd1bc7ec3d4ee4f3b87d54cf\n705555dc468e46560d02db102dfcedc1e5c70d9e\nf50a51fb4c8d5ca973ce910a21bddf9f8466cb51\nbf5ad8d9943c0e1b0b3f1b4524c277f369065d08\n\nChange-Id: Ifbe063e3822a7d63b1681921b9788cfca898ba64\n"
    },
    {
      "commit": "d23e0d6901935588f9472bd7073fea0009581e9b",
      "tree": "7ac9c5d0ddcb1fe5dbf8fc204f69dfcf0bf7f197",
      "parents": [
        "d5538758af0f6fea0695d3682e9aad2613ab9192"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri May 15 16:36:12 2015 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon May 18 18:13:41 2015 -0700"
      },
      "message": "Update power manager to track uid state like netstats.\n\nTo follow the correct semantics for when restricts due to\ndevice idle can be applied, power manager need to know about\nuid process states like net policy so that it can allow\nwake locks from apps that are in the foreground.\n\nSince this is being added to a second place, I reworked things\nso that the activity manager now keeps track of per-uid process\nstates and allows apps to register to listen to those, rather\nthan having to track lower-level process states and transform\nthem into an overall uid state.  Both net policy and power\nmanager use this new facility.\n\nChange-Id: I77359164c40d0f36fe1ef296dd9f9c3062431148\n"
    },
    {
      "commit": "9a61013d2d0e4448b884a0869b80ea20da441691",
      "tree": "9b38f34cdd9ba02678cc0baab804a072cf1a96e0",
      "parents": [
        "cf304fb35c2086601178858e307d3dda36dbbff7",
        "00f59774ed7c3f42d655ed9688bc83bfecfa2fe7"
      ],
      "author": {
        "name": "Brian Colonna",
        "email": "bcolonna@google.com",
        "time": "Wed May 13 13:27:14 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 13 13:27:15 2015 +0000"
      },
      "message": "Merge \"Removed unused Face Unlock aidl files\" into mnc-dev"
    },
    {
      "commit": "e6c47686f62643d3399218eef4728c22358cbcfb",
      "tree": "7fc2b26868c6a5767d3c87e1a8e3f1cc2f309e22",
      "parents": [
        "4b403557bca7b622c187c3b06814e2118ec7d985",
        "b3b9eb3cfc5b3b3609a5d01258315798b38a5cf9"
      ],
      "author": {
        "name": "P.Y. Laligand",
        "email": "pylaligand@google.com",
        "time": "Tue May 12 17:39:55 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 12 17:39:57 2015 +0000"
      },
      "message": "Merge \"DO NOT MERGE - Display mode switches.\" into mnc-dev"
    },
    {
      "commit": "b3b9eb3cfc5b3b3609a5d01258315798b38a5cf9",
      "tree": "9d1d777fceb08094b7accab63c4f1b135e687a2e",
      "parents": [
        "ed1ef7d4eb8934f6940a2e828ebd0e6878e1af89"
      ],
      "author": {
        "name": "P.Y. Laligand",
        "email": "pylaligand@google.com",
        "time": "Mon May 11 15:02:07 2015 -0700"
      },
      "committer": {
        "name": "P.Y. Laligand",
        "email": "pylaligand@google.com",
        "time": "Mon May 11 15:02:07 2015 -0700"
      },
      "message": "DO NOT MERGE - Display mode switches.\n\nKnowledge of the various modes of a display is now available to apps, and they can request a specific mode for their windows.\n\nb/18241736\n\nChange-Id: I8eb16ff713e878512faca3ca6662254f08a9be7f\n(cherry picked from commit 5c7773d86484aac5737667c604bd8fe8150c2136)\n"
    },
    {
      "commit": "d86d58cd010b087d6d481062f84c894e0ced7bbc",
      "tree": "aa9d69c8e7a6b9911ecc3f0c6398b0e43ffe4d1c",
      "parents": [
        "c454f786e2301b26afee3809a293a7fadd65434a"
      ],
      "author": {
        "name": "Rubin Xu",
        "email": "rubinxu@google.com",
        "time": "Tue May 05 16:57:37 2015 +0100"
      },
      "committer": {
        "name": "Rubin Xu",
        "email": "rubinxu@google.com",
        "time": "Mon May 11 18:35:32 2015 +0100"
      },
      "message": "Tweak SystemUpdatePolicy according to API review.\n\nMake SystemUpdatePolicy Parcelable; hide public constructor and\nexpose static builder methods.\n\nBug: 20820025\nChange-Id: I594ba3c7e5514551134ba6c866b24498b66506bf\n"
    },
    {
      "commit": "00f59774ed7c3f42d655ed9688bc83bfecfa2fe7",
      "tree": "d7d41ade263e806bc4f71620b219272117d156fa",
      "parents": [
        "a0698b617f1efc71d5301f98aead822e266ec5d6"
      ],
      "author": {
        "name": "Brian Colonna",
        "email": "bcolonna@google.com",
        "time": "Fri May 08 13:02:29 2015 -0400"
      },
      "committer": {
        "name": "Brian Colonna",
        "email": "bcolonna@google.com",
        "time": "Fri May 08 13:02:29 2015 -0400"
      },
      "message": "Removed unused Face Unlock aidl files\n\nThis old interface has been replaced with a new interface for Trusted\nFace in MNC.\n\nBug: 16139545\nChange-Id: I195d9f3e1b183ad39fbee64bdef9a8dbf1d68df3\n"
    },
    {
      "commit": "a8cc0584c60cbe7e880895353d95e9b9cc5c1b62",
      "tree": "0a85f88036631df12b74a349e711195d70b40687",
      "parents": [
        "2e5a2051de54e64612e1357d4534c7ec851aa508"
      ],
      "author": {
        "name": "Bart Sears",
        "email": "bsears@google.com",
        "time": "Thu May 07 03:23:20 2015 +0000"
      },
      "committer": {
        "name": "Bart Sears",
        "email": "bsears@google.com",
        "time": "Thu May 07 03:23:20 2015 +0000"
      },
      "message": "Revert \"Remove incomplete media router API.\"\n\nThis CL has broken all builds on mnc-dev.\nReverting until Jeff can take a look at it.\n\nThis reverts commit 2e5a2051de54e64612e1357d4534c7ec851aa508.\n\nChange-Id: Ib9b3569bfebdc7bbfbcb7aee82733b93736c5bb5\n"
    },
    {
      "commit": "2e5a2051de54e64612e1357d4534c7ec851aa508",
      "tree": "fb7abdcd4dc4d8be87890cb40161339d88a99527",
      "parents": [
        "4244ce6a17063fd67fa174f7e551830c4df7d5bf"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Aug 19 17:39:42 2014 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed May 06 19:54:46 2015 -0700"
      },
      "message": "Remove incomplete media router API.\n\nBug: 20641986\nChange-Id: I310fadafb5a6b8190a32e5d87f3e1823c87bcef7\n"
    },
    {
      "commit": "c05c1aeedf44b7019b6749758dffc03df7632225",
      "tree": "24126136b2dcb20e4d0d64b031bb1cb4243b4a06",
      "parents": [
        "c2ec334079375ac6a4337bd5b94e173534b51129"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue May 05 13:46:30 2015 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed May 06 16:02:21 2015 -0700"
      },
      "message": "Revert \"Initial draft of new MediaRouter APIs.\"\n\nThis reverts commit 1a937b04e63539cb1fab1bde601031d415c7156f.\n\nBug: 20641986\nChange-Id: I035d945d1561e5fc7c914aa9362635f763c83cfd\n"
    },
    {
      "commit": "0b4daca9ba54b7252ea8c159218391380eb00c8a",
      "tree": "f613c1a320934f01ec040427c84ee00371cb13fe",
      "parents": [
        "5686780404a41901d226cc7ba506c1c0ba284713"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Apr 27 09:47:32 2015 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Apr 29 12:38:09 2015 -0700"
      },
      "message": "Implement user-settable power save whitelist.\n\nThe whitelist is now maintained by DeviceIdleController,\nwhich is moving out into its own independent system service.\nNetwork stats now queries it for the whitelist, instead of\ncollecting that itself.\n\nAlso did a few improvements in alarm manager -- made the\ncode for moving alarms out of the pending list more robust,\nand fixed the debug output to always print the contents of\nthe pending list even if we aren\u0027t in a pending state.  (That\nwould have helped me identify the problem much earlier.)\n\nChange-Id: I0f7119d4c553c3af4d77b2f71246fa6e2c13c561\n"
    },
    {
      "commit": "9a1c9b67c4b2426884deb60c1ff84130ab47333c",
      "tree": "55d55270aaa3fc809b182b454a410b725b4e808b",
      "parents": [
        "3f2631f526d0a0ac0b57ac9f6d241bcc7aeb5f5b"
      ],
      "author": {
        "name": "Jonathan Basseri",
        "email": "misterikkit@google.com",
        "time": "Wed Feb 25 13:01:52 2015 -0800"
      },
      "committer": {
        "name": "Junda Liu",
        "email": "junda@google.com",
        "time": "Thu Apr 16 11:40:33 2015 -0700"
      },
      "message": "Adding Carrier Config API.\n\nUICC privileged carrier apps will extend CarrierConfigService to provide\ncarrier-specific configuration. Apps/services will use\nCarrierConfigManager to read the current configuration.\n\nCarrierConfigManager also defines the set of configuration variables and\ntheir default values.\n\nBug: b/19483786\nChange-Id: I027211b43276afd6fe893ae50048c52f2aed5cf5\n"
    },
    {
      "commit": "2a5f608e7a5765db3b91165dac5b6280b26da26c",
      "tree": "e8203d0bbdc81f0df1f97df010e7686db8a1a957",
      "parents": [
        "d055adbe2c1c65d9346e65209fa8790190bc239e"
      ],
      "author": {
        "name": "Casper Bonde",
        "email": "c.bonde@samsung.com",
        "time": "Thu Mar 19 10:36:45 2015 +0100"
      },
      "committer": {
        "name": "Andre Eisenbach",
        "email": "eisenbach@google.com",
        "time": "Wed Apr 15 23:45:51 2015 -0700"
      },
      "message": "Add support for Bluetooth Sim Access Profile (2/4)\n\nChange-Id: I6c634aa38d31a7b5a98c9089840557257fd58209\n"
    },
    {
      "commit": "1fc476d51203c0b76ebd0f2062adf3059437b0dc",
      "tree": "d46495530a3282585a800198c1fbeaefca096d19",
      "parents": [
        "8e5fbc70e19c5e294e8f99939161e1a8ff78bd6f"
      ],
      "author": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Tue Apr 14 16:05:20 2015 -0400"
      },
      "committer": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Wed Apr 15 16:58:30 2015 -0400"
      },
      "message": "Zen: Add notification policy management api.\n\n - Allow apps to read and modify notification policy (currently\n   which items are prioritized in \"priority only\" mode), but only\n   after they\u0027ve been granted access by noman.\n - Access to read/modify notification policy requires a token provided\n   by noman.  Enabled notification listeners are automatically given\n   tokens (new getter on NLS), but any other app can also request them.\n - Currently, all requests are granted.\n - Also add a new change intent when the public policy changes.\n\nBug: 18541928\nChange-Id: I482d1c39852d0d961931515e0f0e059a8faee4ed\n"
    },
    {
      "commit": "317918e206b89f4a49bfa35af57607764f322347",
      "tree": "f56545620e341f21a86eedff65090b8124bbc4ad",
      "parents": [
        "34e79c1e570673148e3e0bbd91df3180a00eeff1",
        "d9fc85ac27742adbe89e54fd35f3cb2469e94b91"
      ],
      "author": {
        "name": "Andres Morales",
        "email": "anmorales@google.com",
        "time": "Tue Apr 14 16:12:48 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 14 16:12:55 2015 +0000"
      },
      "message": "Merge changes from topic \u0027lss-update\u0027\n\n* changes:\n  Add challenge to IGateKeeperService\n  Wire up GateKeeper to LockSettingsService\n"
    },
    {
      "commit": "3c273bbb912ab5d2a02e3a8ff5baefc819ea26fc",
      "tree": "bbd0bf8a38d82eb8f7aebbd3206fb4beebe7be17",
      "parents": [
        "b8a699c846dff766ede3f59c30cf265c00d72c9e",
        "f46c8f5bfcb30d7f9d8b91e6f193d7ab574e05e9"
      ],
      "author": {
        "name": "smain@google.com",
        "email": "smain@google.com",
        "time": "Tue Apr 14 03:10:51 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 14 03:10:51 2015 +0000"
      },
      "message": "am f46c8f5b: am c9393a5d: am 2b92e18b: am 76c9e47e: am 4301dd04: am d60649c5: Merge \"initial batch of NDK files for skeleton site build\" into lmp-docs\n\n* commit \u0027f46c8f5bfcb30d7f9d8b91e6f193d7ab574e05e9\u0027:\n  initial batch of NDK files for skeleton site build\n"
    },
    {
      "commit": "c9393a5d707529a465fe68ee96d9929deb8ef3c8",
      "tree": "f35efb1062b99df278202cc098d31896d8af6168",
      "parents": [
        "f828c92c5ebbcba3204581b49e91b5b80f8ed2b4",
        "2b92e18b4bf70c88662dfa1137c4901daae4d4d5"
      ],
      "author": {
        "name": "smain@google.com",
        "email": "smain@google.com",
        "time": "Tue Apr 14 02:44:14 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 14 02:44:14 2015 +0000"
      },
      "message": "am 2b92e18b: am 76c9e47e: am 4301dd04: am d60649c5: Merge \"initial batch of NDK files for skeleton site build\" into lmp-docs\n\n* commit \u00272b92e18b4bf70c88662dfa1137c4901daae4d4d5\u0027:\n  initial batch of NDK files for skeleton site build\n"
    },
    {
      "commit": "8fa5665f0e757cec0063fb4cf1354f1596f93a91",
      "tree": "01fe5264f4151e15432fc8047fdde712c8434974",
      "parents": [
        "832017963d1d74ba41348deed5eb747b45b441fb"
      ],
      "author": {
        "name": "Andres Morales",
        "email": "anmorales@google.com",
        "time": "Tue Mar 31 09:19:50 2015 -0700"
      },
      "committer": {
        "name": "Andres Morales",
        "email": "anmorales@google.com",
        "time": "Mon Apr 13 18:38:45 2015 -0700"
      },
      "message": "Wire up GateKeeper to LockSettingsService\n\nAdds:\n- Communication to GKService\n- password upgrade flow\n- enroll takes previous credential\n\nChange-Id: I0161b64642be3d0e34ff4a9e6e3ca8569f2d7c0a\n"
    },
    {
      "commit": "0178321af60012d8f0e6dd5a0df938dfe4ea0206",
      "tree": "53415a65fb40720aa4d4f33e883a0cd875f69758",
      "parents": [
        "3a77a8aeea1a40ca5c2cdb0b66a877032118d89f"
      ],
      "author": {
        "name": "smain@google.com",
        "email": "smain@google.com",
        "time": "Fri Apr 10 20:45:28 2015 -0700"
      },
      "committer": {
        "name": "smain@google.com",
        "email": "smain@google.com",
        "time": "Mon Apr 13 12:51:19 2015 -0700"
      },
      "message": "initial batch of NDK files for skeleton site build\n\nChange-Id: I00152e817377c072f529940743499a3b6d91f80d\n"
    },
    {
      "commit": "5d6443bf7c087167e47ea39b13e6af09cb43ad97",
      "tree": "0415e23f50ea376a96c4b28df732a238bc435f07",
      "parents": [
        "834a91dda7724974fbd93bc65b9dd7178edddcdd"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Apr 10 20:15:01 2015 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Apr 13 01:51:22 2015 -0700"
      },
      "message": "Set initial screen brightness earlier in the boot process.\n\nPreviously we had to wait for systemReady before setting the brightness\ndue to the order in which the display power controller was initialized.\nUnfortunately it could take us a rather long time to reach that stage,\nparticularly after an OTA where the screen would remain at maximum\nbrightness for minutes while \"Optimizing Apps\".\n\nThis change moves the brightness backlight setting code deeper\ninto the display manager which has a couple of nice side-benefits\nin that it now becomes much easier to coordinate display power mode\nchanges with display backlight changes.  So this change also resolves\nsome issued with changing the backlight while in DOZE_SUSPEND and\nensuring that backlight changes generally end up being performed\nbefore executing a power mode change except in the case where the\ndisplay needs to come out of suspend first.  (So now the backlight\nwill be set before entering DOZE from the ON state.)\n\nDeleted some dead code in LightService which was in the way.\n\nBug: 19029490\nChange-Id: I494b5223e676248daf2ff8be3ec338845977f73c\n"
    },
    {
      "commit": "ea51127bcbc51f16588755a7b02768269860122c",
      "tree": "63f5f3f6d2d7ee69658ad40b6501d7993786bda0",
      "parents": [
        "f2834c12a33708da5f12fc978b4c4f7b0f4069bf",
        "d34b20e957f66e113e7d39e253d69450545b5961"
      ],
      "author": {
        "name": "David Friedman",
        "email": "dmail@google.com",
        "time": "Sat Apr 11 02:43:27 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Apr 11 02:43:27 2015 +0000"
      },
      "message": "am d34b20e9: am a22125ff: am 23b5e508: am 340a617e: am 746fed63: am 3a77a8ae: Merge \"New build rule reflecting different masthead, side nav for NDK minisite.\" into lmp-docs\n\n* commit \u0027d34b20e957f66e113e7d39e253d69450545b5961\u0027:\n  New build rule reflecting different masthead, side nav for NDK minisite.\n"
    },
    {
      "commit": "a22125ff98085c0fe662966cadfe4c889707db54",
      "tree": "2494f9d651ede4b777149064797d0f4736b8d126",
      "parents": [
        "3a9779b6edf9b118d8907a8124cd53c05f72aa00",
        "23b5e508adfb454552fda16d76d65b070a53f759"
      ],
      "author": {
        "name": "David Friedman",
        "email": "dmail@google.com",
        "time": "Sat Apr 11 02:15:48 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Apr 11 02:15:48 2015 +0000"
      },
      "message": "am 23b5e508: am 340a617e: am 746fed63: am 3a77a8ae: Merge \"New build rule reflecting different masthead, side nav for NDK minisite.\" into lmp-docs\n\n* commit \u002723b5e508adfb454552fda16d76d65b070a53f759\u0027:\n  New build rule reflecting different masthead, side nav for NDK minisite.\n"
    },
    {
      "commit": "1adf4958e8695125980cbafccf9acd38fd940271",
      "tree": "b32b1fb59f40887c838524969ca59234d46ce176",
      "parents": [
        "b2b93762b8165ee47f49765816fc7ba0428c371c"
      ],
      "author": {
        "name": "David Friedman",
        "email": "dmail@google.com",
        "time": "Tue Apr 07 11:45:54 2015 -0700"
      },
      "committer": {
        "name": "David Friedman",
        "email": "dmail@google.com",
        "time": "Tue Apr 07 11:45:54 2015 -0700"
      },
      "message": "New build rule reflecting different masthead, side nav for NDK minisite.\n\nChange-Id: I81b50cca405d907cf8a6514356b92e38b6808d3c\n"
    },
    {
      "commit": "225d3b5449d29b43e619d8538d024305f6e81ba9",
      "tree": "1b51b10b43df82fe733b89989b6fd765469f78a0",
      "parents": [
        "25e12abc5b8a4aa83cfa150094fd145b777e6e03"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Wed Apr 01 11:18:57 2015 -0700"
      },
      "committer": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Fri Apr 03 11:12:03 2015 -0700"
      },
      "message": "Add more internal API\u0027s for assist\n\n- When starting a voice interaction session from SysUI, a callback\ncan be passed to know when voice interaction has successfully started\n- Add a new window type for the voice interaction starting window,\nwhich resides behind the voice interaction layer.\n- SystemUI now also inspects the voice interaction service to get the\nlogo asset for the starting window.\n- Make VoiceInteractionSession window fullscreen, to accomodate for\nthe visuals.\n\nChange-Id: If8c3c445e8b39841f48e8d153e6d1ba81e447286\n"
    },
    {
      "commit": "ebbf205bc6e8292f74d8fc4652c70274a445f907",
      "tree": "872978a26983197fcf317af6dbdb2ba591650f5a",
      "parents": [
        "1b76e4b0db74855c17ce9b1d3c3f83669e3fd298"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Tue Mar 31 17:24:34 2015 -0700"
      },
      "committer": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Wed Apr 01 19:20:08 2015 -0700"
      },
      "message": "Prepare to make Fingerprint API public.\n\n- move fingerprint support files into hardware area\n- move jni into services/core\n\nChange-Id: I48a8e43d6d328fb66d79919c255e4c44e984b4d1\n"
    }
  ],
  "next": "5670d9a2503557ca583eddcab1702800b5016cd9"
}
