)]}'
{
  "log": [
    {
      "commit": "3c9c29ee38e6e89eb0d6861e04fb4af7fb0a2c3b",
      "tree": "35a05a5e41f803e7769499985bd99d83ed74417b",
      "parents": [
        "0e4d38028ce64b923136149a9245cf3ee7fabedb",
        "af39ba5d4982af2453d3afcfa991c69af7bb3c56"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Mar 30 17:32:00 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Mar 30 17:32:00 2017 +0000"
      },
      "message": "Merge \"Switch libplatformproto to sharedlib\" into oc-dev am: 72c2760943\nam: af39ba5d49\n\nChange-Id: I73d9035f13f83c80045004867b4470779095d603\n"
    },
    {
      "commit": "af39ba5d4982af2453d3afcfa991c69af7bb3c56",
      "tree": "30f45cb4876dbbd89eabca455108a4a7fa91ecd3",
      "parents": [
        "1f3f5955bb627f418379fd2d6fb02e03fb2768ce",
        "72c27609434dcc9f6db6292a114214b69a5c7bd7"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Mar 30 16:57:51 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Mar 30 16:57:51 2017 +0000"
      },
      "message": "Merge \"Switch libplatformproto to sharedlib\" into oc-dev\nam: 72c2760943\n\nChange-Id: I534c8d890499dbd7fbe456fa407b10e34d2a5eb3\n"
    },
    {
      "commit": "e5549d414c7231ee0037cf413dad17e28b8905ba",
      "tree": "fdbfe410b13038c91eec5e69dbfd3491ce5d1030",
      "parents": [
        "d686e9c26e84e56810fcf87f6002ba8ba2b3f0c5"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Mar 29 18:41:27 2017 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Mar 29 18:41:27 2017 -0700"
      },
      "message": "Switch libplatformproto to sharedlib\n\nlibplatformprotos is really really unhappy if it gets\nloaded twice into the same process which trivially happens\nif it\u0027s a static library. Switch it to a shared library\ninstead to fix this.\n\nChange-Id: I90297d076d0739bab683fbd9607d7fc0884a002d\nFixes: 36272398\nTest: Ran hwui_unit_test, didn\u0027t crash\n"
    },
    {
      "commit": "560c9ec724bdebc31a35a934a703cd802e0926f4",
      "tree": "0e56b2a11ee369939f5bc89f384311680b10dd87",
      "parents": [
        "fb0ad3705dd83c172cd6915a3e2d0a5df3ef1870",
        "e45e328821badf42dc98c0b37326c73400eef651"
      ],
      "author": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Wed Mar 29 17:05:10 2017 -0700"
      },
      "committer": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Wed Mar 29 17:05:10 2017 -0700"
      },
      "message": "Merge commit \u0027e45e328821ba\u0027 into oc-dev-plus-aosp\n\nChange-Id: I30ad9038be8faee57e5d6b1391d9e70a966a9a77\n"
    },
    {
      "commit": "4fdc7d5ddd05658deec383790f63477df355f3fb",
      "tree": "f9a92c96b6f9d77f04e424e338417c6fddc71dde",
      "parents": [
        "25105f65617d4afd2b0059a0520026eeb95f7744",
        "ce073d70bedc47876da1644fca59864c669d34af"
      ],
      "author": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Wed Mar 29 16:03:34 2017 -0700"
      },
      "committer": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Wed Mar 29 16:04:31 2017 -0700"
      },
      "message": "Merge commit \u0027ce073d70bedc\u0027 into stage-aosp-master\n\nChange-Id: I319034a5b77de5cf71de0e110bb17819fb907f1b\n"
    },
    {
      "commit": "35b9e3015565850e9de963e4bda1be227825df5d",
      "tree": "33b92538a7722ebe53f1a89b5b24b99772bc4327",
      "parents": [
        "9bf875932dc9f22d5d804ebb456d4084e55835a4"
      ],
      "author": {
        "name": "Kang Li",
        "email": "kanlig@google.com",
        "time": "Tue Mar 14 11:52:17 2017 -0700"
      },
      "committer": {
        "name": "Kang Li",
        "email": "kanlig@google.com",
        "time": "Wed Mar 29 15:08:41 2017 -0700"
      },
      "message": "Add a service to rank apps for ResolverActivity.\n\nbug: 30982298\nTest: manual - shared images in Camera, texts in Messenger, and webpages\nin Chrome.\n\nChange-Id: If335c269ca54145839ad8fd4b3f9b93a74b550f8\n"
    },
    {
      "commit": "28084d89ec136b56f5012be33a0dea147962f9f6",
      "tree": "b24052a02ca451820e4629dfa8efd2e158d9d214",
      "parents": [
        "fd79fd36a8b41dc185966e77c72a3fec3687d634"
      ],
      "author": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Wed Mar 01 18:55:06 2017 -0800"
      },
      "committer": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Wed Mar 29 11:38:20 2017 -0700"
      },
      "message": "Add a Skeleton IpSecService\n\n-Add IpSecService with the necessary glue to connect to netd\n-Add code to retrieve IpSecService from System Server\n\nBug: 34811227\nTest: Service boots (and dumpsys works), more via b/34811227\nChange-Id: I4cdcb643421141202f77a0e2f87a37012de0cd92\n"
    },
    {
      "commit": "1afbef40c68373f3871eed087c546cfe1911ee36",
      "tree": "f5e1c8f76b1f4b5fee2937867a5ca34f07a43e71",
      "parents": [
        "5d81b9d67d73be37f51900dde72041e4eb230263"
      ],
      "author": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Wed Mar 01 18:55:06 2017 -0800"
      },
      "committer": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Wed Mar 29 11:31:27 2017 -0700"
      },
      "message": "Add a Skeleton IpSecService\n\n-Add IpSecService with the necessary glue to connect to netd\n-Add code to retrieve IpSecService from System Server\n\nBug: 34811227\nTest: Service boots (and dumpsys works), more via b/34811227\nMerged-In: I4cdcb643421141202f77a0e2f87a37012de0cd92\nChange-Id: I4cdcb643421141202f77a0e2f87a37012de0cd92\n"
    },
    {
      "commit": "39f285d5a75f653d2d2309b47cfaa143da42a0ca",
      "tree": "00ff6c7abb1e9904e3f01d2c2501e70942b39d9d",
      "parents": [
        "117e0c9b5a65370b7895f73014adbc211f598c68"
      ],
      "author": {
        "name": "Shubang",
        "email": "shubang@google.com",
        "time": "Tue Mar 21 12:56:08 2017 -0700"
      },
      "committer": {
        "name": "Shubang",
        "email": "shubang@google.com",
        "time": "Mon Mar 27 15:15:46 2017 -0700"
      },
      "message": "Sync the constants in HAL and framework\n\nTest: Build and flash device\n\nBug: 36233336\nChange-Id: Ie81862825b601bdafd7653564d7393686d54f531\n"
    },
    {
      "commit": "1d978329df70f3b9a646a0feddf6972a1a76a262",
      "tree": "090a581d2c979b34169f307df45e42ca3b735702",
      "parents": [
        "b758b3542a8755e82da1c3e38153b910113f8df4",
        "b4e8fd65bfcd8e4e4e10cef3b1da8e15a447cc41"
      ],
      "author": {
        "name": "Jakub Pawlowski",
        "email": "jpawlowski@google.com",
        "time": "Mon Mar 27 21:34:23 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Mar 27 21:34:23 2017 +0000"
      },
      "message": "Merge \"Bluetooth GATT callback naming fix \"Ext\" -\u003e \"\" (1/2)\" am: beb8ceada8 am: cfe099b01d\nam: b4e8fd65bf\n\nChange-Id: I31be1d92cf7ad95214bf353dca20b990a280f996\n"
    },
    {
      "commit": "cfe099b01d676357a44c6fbfe3bd646319e97300",
      "tree": "0e4360b11c8e17f002636a6e2d50278717bd6158",
      "parents": [
        "3f26682252c924ecd845f09a0bf1977b1da58242",
        "beb8ceada8f44a8fefaf8fea3ff916850d915296"
      ],
      "author": {
        "name": "Jakub Pawlowski",
        "email": "jpawlowski@google.com",
        "time": "Mon Mar 27 21:22:15 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Mar 27 21:22:15 2017 +0000"
      },
      "message": "Merge \"Bluetooth GATT callback naming fix \"Ext\" -\u003e \"\" (1/2)\"\nam: beb8ceada8\n\nChange-Id: Ie88e330a1d50adac8c6b83581079c6096c4d898a\n"
    },
    {
      "commit": "d7116bea0698f58e93003d2046411a2624dd1ab1",
      "tree": "529a095af3e385e8259c124c60d23c20412c6546",
      "parents": [
        "a1e206a335f5050618564d2129fbc2bcd0e20730"
      ],
      "author": {
        "name": "Jakub Pawlowski",
        "email": "jpawlowski@google.com",
        "time": "Mon Mar 27 12:14:40 2017 -0700"
      },
      "committer": {
        "name": "Andre Eisenbach",
        "email": "eisenbach@google.com",
        "time": "Mon Mar 27 19:27:57 2017 +0000"
      },
      "message": "Bluetooth GATT callback naming fix \"Ext\" -\u003e \"\" (1/2)\n\nGatt callback don\u0027t need the \"Ext\" postfix, as it was removed from new\nAPI.\n\nTest: manual\nBug: 30622771\nChange-Id: I54596ffdcb818343cc313123266cfa16291c6236\n"
    },
    {
      "commit": "4753bb0c34e068f57fff208529836a7688b3ef41",
      "tree": "3adcbe2ab972ffce0884d39ed56ecb451e236046",
      "parents": [
        "dbf544f27193ecb5ad70aad24cd704b7daef3a70"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Wed Mar 22 20:24:00 2017 -0700"
      },
      "committer": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Fri Mar 24 15:16:28 2017 -0700"
      },
      "message": "Make auto-fill UI robust\n\nNow the autofill UI tracks the movement of the anchor view,\nboth real and virtual and while still preventing the filled\napp from accessing the chooser UI. This was achieved by using\na popup window in the app process to determine the window\nlocation and adding a window presenter interface to popup\nwindow that controls the actual window addition, removal, and\nupdate which is implemented by the system server.\n\nTest: all autofill CTS tests pass\n\nbug: 36392498\nbug: 35708258\nbug: 34943932\nfixes: 36039182\nfixes: 36493078\n\nChange-Id: I0321913b2e2e759f4b17003bf85cb873e63a467c\n"
    },
    {
      "commit": "229ce701279110080dd9e4241637cc72347eb5d8",
      "tree": "735955b9e610516e0f9f8f56e49129c25a9df368",
      "parents": [
        "d85bf7857d450c87218df99a1835d6100133ffcd",
        "f8cdfc875453ba7a5b83a999a40feb0a9cdbf913"
      ],
      "author": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Tue Mar 21 23:04:01 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 21 23:04:07 2017 +0000"
      },
      "message": "Merge \"Move the resourcesdir option to the global options so that all doc builds put framework images in the right place.\""
    },
    {
      "commit": "327dfaa6592b156bd2a7ecbe311699c557a6b6b8",
      "tree": "4d30dcfca6e80a920127b1a2a288e2ccf575f661",
      "parents": [
        "9016c2c95379791d5508b675e4b56b9850c9d4a8",
        "b70845c708a8c402219f05d26edaea38713e13c3"
      ],
      "author": {
        "name": "Steven Thomas",
        "email": "steventhomas@google.com",
        "time": "Tue Mar 21 22:24:52 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 21 22:25:00 2017 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Add remote callbacks for persistent vr mode\"\"\""
    },
    {
      "commit": "c79d4388de8cd2de15a077bf840ee03194db1c75",
      "tree": "4cb029bbc35c533556037d45c822b4b0cb7d33e8",
      "parents": [
        "7ba04df38cb5a797d81a2776ee227d126b7dd157",
        "9d937df36ac07c517dd80b076c5c43d450e16774"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Mar 21 20:49:12 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 21 20:49:17 2017 +0000"
      },
      "message": "Merge \"Remove libtextclassifier from local shared libraries.\""
    },
    {
      "commit": "f8cdfc875453ba7a5b83a999a40feb0a9cdbf913",
      "tree": "669ecbff01779d8df16c48f99cc86609b631d603",
      "parents": [
        "37ecda0ebacdf7eb131eb432273a33fd48f6a38c"
      ],
      "author": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Tue Mar 21 13:43:31 2017 -0700"
      },
      "committer": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Tue Mar 21 13:43:31 2017 -0700"
      },
      "message": "Move the resourcesdir option to the global options\nso that all doc builds put framework images in the right place.\n\nChange-Id: Id7777bf658522df64053380ffd4f4e580dded74d\n"
    },
    {
      "commit": "b70845c708a8c402219f05d26edaea38713e13c3",
      "tree": "8810b704aefaaa1ca2e5ff745320f874fd9a1401",
      "parents": [
        "3b1ed1cb3d2939059bd4feec145d2ebb7aa959bd"
      ],
      "author": {
        "name": "Steven Thomas",
        "email": "steventhomas@google.com",
        "time": "Thu Mar 16 14:32:37 2017 -0700"
      },
      "committer": {
        "name": "Steven Thomas",
        "email": "steventhomas@google.com",
        "time": "Tue Mar 21 20:01:28 2017 +0000"
      },
      "message": "Revert \"Revert \"Add remote callbacks for persistent vr mode\"\"\n\nThis reverts commit 2abf1c60cc2fc6ec9bc590cb35e94581ecf93c2e.\n\nWe need the ability to register remote callbacks for persistent vr mode,\nso vr flinger can register for persistent vr mode events.\n\nBug: 35885165\n\nTest: Manually confirmed vr flinger can register and receive persistent\nvr mode events.\n\nChange-Id: I7713c4c8acae9a369fd0c06695ef712fddd12be8\n"
    },
    {
      "commit": "9d937df36ac07c517dd80b076c5c43d450e16774",
      "tree": "ed77de75a0aa2950ee508057e3ba5f45f65cd2d0",
      "parents": [
        "5beefa697aeca3eeaeeac50f781908657490e211"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Mar 21 10:59:07 2017 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Mar 21 10:59:07 2017 -0700"
      },
      "message": "Remove libtextclassifier from local shared libraries.\n\nMove libtextclassifier from LOCAL_SHARED_LIBRARIES to\nLOCAL_REQUIRED_MODULES so that it is still installed to the\nsystem image but not linked against libandroid_runtime.  Avoids\nODR issues between libprotobuf-cpp-lite and libprotobuf-cpp-full.\n\nTest: Checked that libtextclassifier is still built into the system image\n      but not linked to libandroid_runtime.\nBug: 36350884\nChange-Id: I6e57b4323a84c14e05f1b9e463ce93625d9cb3d7\n"
    },
    {
      "commit": "3b1ed1cb3d2939059bd4feec145d2ebb7aa959bd",
      "tree": "55db6ee128ee5f9472f85043e37e1c61cad4bead",
      "parents": [
        "77103b14d84b325de6aee68ed0a47ca630c755b0",
        "2abf1c60cc2fc6ec9bc590cb35e94581ecf93c2e"
      ],
      "author": {
        "name": "Jin Qian",
        "email": "jinqian@google.com",
        "time": "Tue Mar 21 00:19:26 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 21 00:19:32 2017 +0000"
      },
      "message": "Merge \"Revert \"Add remote callbacks for persistent vr mode\"\""
    },
    {
      "commit": "2abf1c60cc2fc6ec9bc590cb35e94581ecf93c2e",
      "tree": "15df219891dc3b680bb8b8881beb63c22e2059fb",
      "parents": [
        "504c6d67d0c2e4cda5201372551914f94acce710"
      ],
      "author": {
        "name": "Jin Qian",
        "email": "jinqian@google.com",
        "time": "Tue Mar 21 00:04:53 2017 +0000"
      },
      "committer": {
        "name": "Jin Qian",
        "email": "jinqian@google.com",
        "time": "Tue Mar 21 00:04:53 2017 +0000"
      },
      "message": "Revert \"Add remote callbacks for persistent vr mode\"\n\nThis reverts commit 504c6d67d0c2e4cda5201372551914f94acce710.\n\nChange-Id: Ia0f8d508272211736d421cf097abaa0bcbc3abab\n"
    },
    {
      "commit": "de2ea835636e2c6d8c39fd5926dd44867ce43ad7",
      "tree": "d10ba39f05cf1365de967e099fb4a868e2e44d3a",
      "parents": [
        "a540460e7b113179965dfa37b092dda82ff75b50",
        "504c6d67d0c2e4cda5201372551914f94acce710"
      ],
      "author": {
        "name": "Steven Thomas",
        "email": "steventhomas@google.com",
        "time": "Mon Mar 20 23:43:46 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 20 23:43:53 2017 +0000"
      },
      "message": "Merge \"Add remote callbacks for persistent vr mode\""
    },
    {
      "commit": "7121697a5e2d4458f6f63e9eb3b5deec62ee6202",
      "tree": "62b6318b0535f6429b4b0b23b203fe97ef48bfde",
      "parents": [
        "66dc7be9e69158e44bd933d9dc6eedded67cea3d"
      ],
      "author": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Tue Jan 31 18:33:54 2017 +0000"
      },
      "committer": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Mon Mar 20 16:09:51 2017 +0000"
      },
      "message": "BZZZZZZT! BZZZZZT! New Vibrator APIs\n\nReplace the existing Vibrator APIs with a new class to encapsulate the\nhaptic effect information, and add the ability to control the vibration\nstrength.\n\nTest: cts-tradefed run commandAndExit cts-dev -m CtsOsTestCases -t android.os.cts.VibratorTest\n      cts-tradefed run commandAndExit cts-dev -m CtsOsTestCases -t android.os.cts.VibrationEffectTest\n      runtest systemui-notification\n      Manual testing with $T/google_experimental/users/michaelwr/Vibrator\n\nBug: 30961353\n\nChange-Id: Idbb9864a7b084c85e7b7de3257a0e6b40d9d91d6\n"
    },
    {
      "commit": "a46d97784944cf66058dcd5d601b7346cc9c862c",
      "tree": "1981301b79869864d508d06ee380505749333792",
      "parents": [
        "9e284db838da9ed8dbe3d65ba8a7037801cff35b",
        "349907c1ad592b172f2cc6faf52250932c9be620"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 17 21:46:08 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 17 21:46:12 2017 +0000"
      },
      "message": "Merge \"Fix libplatformproto includes/export includes\""
    },
    {
      "commit": "349907c1ad592b172f2cc6faf52250932c9be620",
      "tree": "6df0bed4e2f785c213287b4f3943b2a524c75de6",
      "parents": [
        "f87e2344880fde52ec0b619c0bb91fdfb29c0fc4"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Fri Mar 17 13:05:20 2017 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Fri Mar 17 13:05:20 2017 -0700"
      },
      "message": "Fix libplatformproto includes/export includes\n\nThe host versions of these were pointing to the target generated\nsources, without having proper dependencies added. But the build system\nalready handles these adding these to your local and exported include\ndirectories, so just remove them.\n\nBug: 36365556\nTest: m -j libhwui incident_report incident-section-gen\nChange-Id: I52024508eabd8d10899c307c950fe045ff66ab25\n"
    },
    {
      "commit": "504c6d67d0c2e4cda5201372551914f94acce710",
      "tree": "8afd3d19b7581d194b96120b6cd2f450fbf11ccd",
      "parents": [
        "7800604d0d1d9b7bb1ea098c512eb08776e461f5"
      ],
      "author": {
        "name": "Steven Thomas",
        "email": "steventhomas@google.com",
        "time": "Thu Mar 16 14:32:37 2017 -0700"
      },
      "committer": {
        "name": "Steven Thomas",
        "email": "steventhomas@google.com",
        "time": "Thu Mar 16 23:14:39 2017 -0700"
      },
      "message": "Add remote callbacks for persistent vr mode\n\nWe need the ability to register remote callbacks for persistent vr mode,\nso vr flinger can register for persistent vr mode events.\n\nBug: 35885165\n\nTest: Manually confirmed vr flinger can register and receive persistent\nvr mode events.\n\nChange-Id: I28ee7f4e103fc53ae3e5d8e692cb2f6fa7bdbc82\n"
    },
    {
      "commit": "ba6a916a7cc6443378e16c663bd927b37f105a0a",
      "tree": "288c7481c4cc300f7f2adff6577119951b4928a3",
      "parents": [
        "41103f42126acbd602de81ac87a2e605492ff528"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Fri Mar 10 15:09:33 2017 -0500"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Thu Mar 16 11:03:20 2017 -0400"
      },
      "message": "Allow the support library to add its own droiddoc options\n\nBug: 35707648\nTest: make docs\nChange-Id: I84168f94f5c3fa5ef3c50883df30812df2cff791\n"
    },
    {
      "commit": "fc3c9d0e9ec7db80b8e139a5306247908c923ccc",
      "tree": "afcddae581c8920674913bb55b42885dfb6061f7",
      "parents": [
        "4f6034160c625525543e8e2b933c3dac539e04f2",
        "1bb08c25b8c1657be36b57fbf39aeeee14bc3724"
      ],
      "author": {
        "name": "Jakub Pawlowski",
        "email": "jpawlowski@google.com",
        "time": "Wed Mar 08 19:21:03 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Mar 08 19:21:03 2017 +0000"
      },
      "message": "Merge \"Bluetooth 5 Advertising API\"\nam: 1bb08c25b8\n\nChange-Id: Ifd95aacf025929d3c9f5a1762f31ed20c26fabfd\n"
    },
    {
      "commit": "4f6034160c625525543e8e2b933c3dac539e04f2",
      "tree": "84cd562a5467478a3db3de336501d5785b827cd7",
      "parents": [
        "8acd7391bdcbf560c1a5137731887f2631e1b27d",
        "104eeedb42d8de557056c0f70018c5d4fa8f6540"
      ],
      "author": {
        "name": "Jakub Pawlowski",
        "email": "jpawlowski@google.com",
        "time": "Wed Mar 08 19:18:50 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Mar 08 19:18:50 2017 +0000"
      },
      "message": "Merge \"Bluetooth 5 PHY selection API\"\nam: 104eeedb42\n\nChange-Id: I0ee2daaf0771b405c8a14598a70459879d31c953\n"
    },
    {
      "commit": "8acd7391bdcbf560c1a5137731887f2631e1b27d",
      "tree": "565793dac531ad9c31648dae1a4205fc50e227f5",
      "parents": [
        "71760b71fd6403f84c6c14dc8c980a053357f37a",
        "f1d76a71c8a4170da4b06e71b98c190dc18d500b"
      ],
      "author": {
        "name": "Jakub Pawlowski",
        "email": "jpawlowski@google.com",
        "time": "Wed Mar 08 19:14:22 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Mar 08 19:14:22 2017 +0000"
      },
      "message": "Merge \"Bluetooth 5 periodc scan API (1/2)\"\nam: f1d76a71c8\n\nChange-Id: I7b68746e3dc02a12d13380a90bcf26cebfd31f16\n"
    },
    {
      "commit": "a9d1a32e5e51ebc3c141370c9d5045c6c938aaf9",
      "tree": "3bd35731d8a36b738fb06452c160842458e576e7",
      "parents": [
        "104eeedb42d8de557056c0f70018c5d4fa8f6540"
      ],
      "author": {
        "name": "Jakub Pawlowski",
        "email": "jpawlowski@google.com",
        "time": "Tue Jan 10 06:15:54 2017 -0800"
      },
      "committer": {
        "name": "Jakub Pawlowski",
        "email": "jpawlowski@google.com",
        "time": "Wed Mar 08 19:04:49 2017 +0000"
      },
      "message": "Bluetooth 5 Advertising API\n\nTest: manual\nBug: 30622771\nChange-Id: Id6856e6110872ec50ff1af54ddc75c0104a6459c\n(cherry picked from commit 5324a14cf490656269ef862d7f8f6b139a21c0e6)\n"
    },
    {
      "commit": "409cee69b2b09bcd11f1273752c016116436f247",
      "tree": "15ca5e9f185d5e9a0ccf91c1e2bfc0285e0ed073",
      "parents": [
        "f1d76a71c8a4170da4b06e71b98c190dc18d500b"
      ],
      "author": {
        "name": "Jakub Pawlowski",
        "email": "jpawlowski@google.com",
        "time": "Thu Feb 02 08:07:12 2017 -0800"
      },
      "committer": {
        "name": "Jakub Pawlowski",
        "email": "jpawlowski@google.com",
        "time": "Wed Mar 08 19:04:06 2017 +0000"
      },
      "message": "Bluetooth 5 PHY selection API\n\nBug: 30622771\nTest: manual\nChange-Id: I50262a56a70466439f9700549c3c0e7bd49e2e8d\n(cherry picked from commit db5a87d50db9d4b3d642603f6c329b83ee5851f6)\n"
    },
    {
      "commit": "ac7fcfa36160f1ce8b1ba8e0a3a90338a99a02a4",
      "tree": "8e6592e542450f2bf9294ba84558829c11c7d0d3",
      "parents": [
        "bed6fb3f5aee1413738a83cee7790cbfc4393fdc"
      ],
      "author": {
        "name": "Jakub Pawlowski",
        "email": "jpawlowski@google.com",
        "time": "Mon Jan 16 07:21:01 2017 -0800"
      },
      "committer": {
        "name": "Jakub Pawlowski",
        "email": "jpawlowski@google.com",
        "time": "Wed Mar 08 19:03:12 2017 +0000"
      },
      "message": "Bluetooth 5 periodc scan API (1/2)\n\nBug: 30622771\nTest: manual\nChange-Id: I61853bc71f6013e9406d1d151bb51ea4484bb92c\n(cherry picked from commit a48e03745becc96181c676dc3d194d0572f11c10)\n"
    },
    {
      "commit": "5324a14cf490656269ef862d7f8f6b139a21c0e6",
      "tree": "18b6a75f5cb37be29c2cd4bf01cfad92c52a3c97",
      "parents": [
        "db5a87d50db9d4b3d642603f6c329b83ee5851f6"
      ],
      "author": {
        "name": "Jakub Pawlowski",
        "email": "jpawlowski@google.com",
        "time": "Tue Jan 10 06:15:54 2017 -0800"
      },
      "committer": {
        "name": "Jakub Pawlowski",
        "email": "jpawlowski@google.com",
        "time": "Wed Mar 08 01:12:16 2017 +0000"
      },
      "message": "Bluetooth 5 Advertising API\n\nTest: manual\nBug: 30622771\nChange-Id: Id6856e6110872ec50ff1af54ddc75c0104a6459c\n"
    },
    {
      "commit": "db5a87d50db9d4b3d642603f6c329b83ee5851f6",
      "tree": "80cda42bc3aab68c31ba91665bfe09c141f5cc7f",
      "parents": [
        "a48e03745becc96181c676dc3d194d0572f11c10"
      ],
      "author": {
        "name": "Jakub Pawlowski",
        "email": "jpawlowski@google.com",
        "time": "Thu Feb 02 08:07:12 2017 -0800"
      },
      "committer": {
        "name": "Jakub Pawlowski",
        "email": "jpawlowski@google.com",
        "time": "Wed Mar 08 01:09:04 2017 +0000"
      },
      "message": "Bluetooth 5 PHY selection API\n\nBug: 30622771\nTest: manual\nChange-Id: I50262a56a70466439f9700549c3c0e7bd49e2e8d\n"
    },
    {
      "commit": "a48e03745becc96181c676dc3d194d0572f11c10",
      "tree": "402c2ff32f36e4d057c19e62e9c26d54ee91d527",
      "parents": [
        "9de522c6e48497028d36a1f8ad8f8adf4b7b1ae6"
      ],
      "author": {
        "name": "Jakub Pawlowski",
        "email": "jpawlowski@google.com",
        "time": "Mon Jan 16 07:21:01 2017 -0800"
      },
      "committer": {
        "name": "Jakub Pawlowski",
        "email": "jpawlowski@google.com",
        "time": "Wed Mar 08 01:06:25 2017 +0000"
      },
      "message": "Bluetooth 5 periodc scan API (1/2)\n\nBug: 30622771\nTest: manual\nChange-Id: I61853bc71f6013e9406d1d151bb51ea4484bb92c\n"
    },
    {
      "commit": "31b0486d1b3bef3d84759299442146d054665505",
      "tree": "be34462789a8d7c9d9c095a1efcd1db1ead1a3e0",
      "parents": [
        "20a80efa34ed830351570b8284549fe24e23abb4",
        "38b5053209d84247db69b550e466ab56305bb2b9"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Tue Mar 07 18:29:25 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 07 18:29:29 2017 +0000"
      },
      "message": "Merge \"Add \"since\" annotations for Support Lib in framework docs build\""
    },
    {
      "commit": "a485f71fd77302f31daa0d6ae29f6802a61eddcf",
      "tree": "97209ffcf4fea539f8178c4e28bfd72bfc0bab6b",
      "parents": [
        "a2f8f4970ef852d4b0caf40d7828376e4a4890c2",
        "1fb3404b2ba69a823e961bec2d9ed61622107052"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Mar 06 21:39:13 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 06 21:39:17 2017 +0000"
      },
      "message": "Merge \"Refactor EphemeralResolverService\""
    },
    {
      "commit": "1fb3404b2ba69a823e961bec2d9ed61622107052",
      "tree": "0401b1a9cfae2e4509bbc62587a48ca034a217b0",
      "parents": [
        "43d059bf486969912b404b9d5f11ac0d2b9e7b89"
      ],
      "author": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Wed Mar 01 13:56:58 2017 -0800"
      },
      "committer": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Fri Mar 03 15:45:20 2017 -0800"
      },
      "message": "Refactor EphemeralResolverService\n\n* Change name to InstantAppResolverService\n* Left old service in place to handle existing client\n  [to be removed prior to O launch]\n* When resolving phase II, return a list instead of a single item\n\nBug: 34763730\nTest: Build and verify resolution occurs w/ legacy \u0026 new resolver service\nChange-Id: Ieccaf91538bd91c04f4be4e35d8264619d7cd6d7\n"
    },
    {
      "commit": "75dbc8f9c16cd148b60cdfab2ea892c6398a90ad",
      "tree": "df7e868024af479de239f998bfb64f22895679b5",
      "parents": [
        "06b11b70004b5af17350a075cc18d0c7bf577c2c"
      ],
      "author": {
        "name": "Billy Lamberta",
        "email": "blamb@google.com",
        "time": "Fri Mar 03 13:09:15 2017 -0800"
      },
      "committer": {
        "name": "Billy Lamberta",
        "email": "blamb@google.com",
        "time": "Fri Mar 03 14:25:58 2017 -0800"
      },
      "message": "Set hdf var \u0027dac\u0027 to true in droiddoc options.\nAllows for DAC template customizations in Doclava.\n\nTest: make offline-sdk-docs\nChange-Id: I11aa79eeba2f7440fa68ee92276eecec6db7f836\n"
    },
    {
      "commit": "63394b734646fa8f6199870ca74822a84299704c",
      "tree": "3937862fc10403e0177f92f5cb250c42de67f6c8",
      "parents": [
        "a6d6e60e0058fa29e5f20e981f13f78ace3e3573"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Mon Dec 19 10:53:15 2016 -0500"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Fri Mar 03 16:18:32 2017 +0000"
      },
      "message": "Move framework-specific portions of pathmap.mk into frameworks/base\n\nTest: make docs \u0026\u0026 make\nChange-Id: I983a17bed8b14b6d94f7c4d3e900f4bb8bb34b86\n"
    },
    {
      "commit": "7ad11281378a1248c08c703b14cfc681e37cac1b",
      "tree": "9d02e84a119bd747e68a6677122d120ea1450817",
      "parents": [
        "d11f127428a01dd86f5bb71797105b9b30be9e40"
      ],
      "author": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Tue Feb 28 13:08:56 2017 -0800"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri Mar 03 02:56:32 2017 +0000"
      },
      "message": "Allow auto-fill services to disable themselves\n\n1. Added a new API for a connected auto-fill service to\n   disable itself\n\n2. Added a new shell command to destroy all pending sessions\n   which is used in CTS tests\n\n3. Fixed a bug where the unbind timeout was in minutes\n   instead of seconds\n\nTest: wrote CTS tests, all auto-fill tests pass\n\nbug:35848030\n\nChange-Id: I681605aa0b8c004a0f14e30b57117c291d89a894\n"
    },
    {
      "commit": "158cd7b1f2aac1e076ef43debd0ec882a9f2c822",
      "tree": "aa88f1f9917bb2b28d09fd3be9c56db70083ab10",
      "parents": [
        "c3013b5bda4a7fd77e627da3b0fa4a6e136e396a",
        "bd16f457a181b8dd32305cedc71ea492a3450739"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Tue Feb 28 06:19:46 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 28 06:19:49 2017 +0000"
      },
      "message": "Merge \"Add callback for AVRCP 1.6 support\""
    },
    {
      "commit": "bd16f457a181b8dd32305cedc71ea492a3450739",
      "tree": "f5f55d515b754ad88ef587f63daa18ebfcf578db",
      "parents": [
        "2584ba6bf4310264239f1f168e52cb0ed3e09055"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Fri Feb 03 16:21:38 2017 +0900"
      },
      "committer": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Tue Feb 28 04:29:38 2017 +0000"
      },
      "message": "Add callback for AVRCP 1.6 support\n\nBug: 33828042\nTest: Build\nChange-Id: Iaf5cecfa38065cfeed096929952559d7cb2e248b\n"
    },
    {
      "commit": "c1e701d03f4e8353c0287152d20afbc7f0c13569",
      "tree": "d560f4c86ec0fabfa661de68668770e011b4247f",
      "parents": [
        "7485a9bbb38779746bc8555a4de2b6d88a20f0f7"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Mon Feb 27 16:06:46 2017 -0800"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Mon Feb 27 16:09:23 2017 -0800"
      },
      "message": "MediaCas: move *.aidl files from frameworks/base to frameworks/av\n\nPDK builds can\u0027t reference frameworks/base from frameworks/av.\n\nbug: 22804304\nChange-Id: Ibcda0b6a56e36233ad37c2d5d2b03d5c58674010\n"
    },
    {
      "commit": "38b5053209d84247db69b550e466ab56305bb2b9",
      "tree": "3fb8bd09059cd1428a5c3692cffd97c835f25568",
      "parents": [
        "e20e7ebbfb39a52e95c72c6abbf1409a2a9abc44"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Fri Feb 24 10:29:48 2017 -0500"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Fri Feb 24 15:15:17 2017 -0500"
      },
      "message": "Add \"since\" annotations for Support Lib in framework docs build\n\nBug: 35707648\nTest: make docs\nChange-Id: I74729254d0002c739ec23cb7473157fc2b8e92bb\n"
    },
    {
      "commit": "05b9926a2cae29904e8c60f74e654cea88c8c5b3",
      "tree": "e329c6a64d610b89799e8a5ecec5680ef4ef90cd",
      "parents": [
        "13a80432a603538154e4159bd9fe17aa5a16827a"
      ],
      "author": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Thu Feb 23 14:51:06 2017 -0800"
      },
      "committer": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Thu Feb 23 14:51:06 2017 -0800"
      },
      "message": "Add API \u0027since\u0027 tag for O dev preview (current.txt)\n\nChange-Id: I10ffd161f9249794df7d263a11703fbca0d88451\n"
    },
    {
      "commit": "13a80432a603538154e4159bd9fe17aa5a16827a",
      "tree": "b62aab3bfb80d4d10df0a98e6082f060c1ce7c0c",
      "parents": [
        "15d10517cfbab44f31ec9831f5683b0ee2f7fcde",
        "15b85174246a490c41ce333c62d585c9327b0bba"
      ],
      "author": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Thu Feb 23 22:42:06 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 23 22:42:10 2017 +0000"
      },
      "message": "Merge \"switch all droiddoc builds to use templates-sdk from doclava\""
    },
    {
      "commit": "15d10517cfbab44f31ec9831f5683b0ee2f7fcde",
      "tree": "12ecf27bf5f56f5d84717818bb1975a63e85b978",
      "parents": [
        "423b3bd84f4d928365a392d75e35f4cde09ef1a5",
        "d5927ae8833780395f8fc5070d0a0a4f8f668292"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Feb 23 22:36:18 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 23 22:36:22 2017 +0000"
      },
      "message": "Merge \"MediaCas: add framework APIs\""
    },
    {
      "commit": "15b85174246a490c41ce333c62d585c9327b0bba",
      "tree": "f4d4e6695b075f415aaf873b501d9ab29b018ac4",
      "parents": [
        "d7ece194c79e9a959c0ec8380e17c960a1a98c9c"
      ],
      "author": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Tue Feb 21 14:30:58 2017 -0800"
      },
      "committer": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Thu Feb 23 21:27:13 2017 +0000"
      },
      "message": "switch all droiddoc builds to use templates-sdk from doclava\n\nChange-Id: I9007f4d49a3076e8b38a2c97e936cf6d6710e87a\n"
    },
    {
      "commit": "d5927ae8833780395f8fc5070d0a0a4f8f668292",
      "tree": "7a9d20d856c46bb6a1dd0796ef82a54cc1c16e09",
      "parents": [
        "ab7bc7afd7a5f9a994e55402795590df57fcb0bf"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Jan 03 11:07:18 2017 -0800"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Feb 22 17:27:01 2017 -0800"
      },
      "message": "MediaCas: add framework APIs\n\nJava API changes to support MediaCas framework.\n\nAlso add partial-frame related enums to MediaCodec,\nMediaCodecInfo, and MediaExtractor as a way to indicate\na input frame contains partial data.\n\nTest: basic test app and test plugin to execise the code path;\nimpelenting playback of CAS-secured MPEG2TS streams, including\na Widevine-based CAS plugin, locally modified ExoPlayer and\nAndroid TV Tuner input.\n\nbug: 22804304\nChange-Id: Ia4ba1d4046f7588e42bfb21e726390457d2fc8e3\n"
    },
    {
      "commit": "95cb226c1a4ff47531da65ef2617ade0dea5c9b8",
      "tree": "b4892fc2349e674751a929be9b9459b2f2926ff3",
      "parents": [
        "56ff7d9e7384fbf09a73ee61120539b2aa0e1983"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Wed Jan 11 10:11:26 2017 +0900"
      },
      "committer": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Wed Feb 22 12:56:38 2017 +0900"
      },
      "message": "IP connectivity metrics: cleanup obsolete code\n\nThis patch cleans obsolete code related to IP connectivity metrics:\n - remove @SystemApi on android.net.metrics: now that metrics events\n   are processed and serialized in the frameworks only, event classes\n   should not appear in the system apis.\n - remove obsolete Logger classes: ConnectivityMetrics app was the\n   unique user of ConnectivityMetricsLogger until nyc-mr1. From nyc-mr1\n   the app started using dumpsys to get metrics for IpConnectivity and\n   Telephony, which made ConnectivityMetricsLogger obsolete.\n - simplifications in MetricsTestUtil\n\nTest: - runtest frameworks-net\n      - manually verified $ adb shell dumpsys connmetrics\nBug: 30054585\nBug: 32648597\nChange-Id: I85ef65f7f69eb9299e4636cc7af54067201d9daf\n"
    },
    {
      "commit": "f9bd2944694539f1dce74d420156cc50bbb4af14",
      "tree": "1e4d0a136606788c633f5b823daca0caa4334499",
      "parents": [
        "2d8f7e80beb0c4762faca9d37539524377da43c2",
        "df1742ed47da1e9b61afeae16fa448d5302a8aa0"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Feb 21 19:23:43 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 21 19:23:46 2017 +0000"
      },
      "message": "Merge \"Overhaul GraphicsStatsService\""
    },
    {
      "commit": "df1742ed47da1e9b61afeae16fa448d5302a8aa0",
      "tree": "7986faf156f39bbe218ab13bad3ae5a1ea3dd581",
      "parents": [
        "f8a420097e54a369d3bd1aa152ea0eea58ff5c94"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Jan 19 15:56:21 2017 -0800"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Tue Feb 21 09:49:10 2017 -0800"
      },
      "message": "Overhaul GraphicsStatsService\n\n* LRU cache of recently-used is dead, replaced\n  disk storage\n* ASHMEM size is read from native by the system service,\n  no longer requires keeping a sizeof() in sync with a\n  constant in Java\n* Supports dumping in proto format by passing --proto\n* Rotates logs on a daily basis\n* Keeps a history of the most recent 3 days\n\nBug: 33705836\nTest: Manual. Verified log rotating works by setting it up to\nrotate every minute instead of day. Confirmed /data/system/graphicsstats\nonly has the most recent 3 entries after several minutes\n\nChange-Id: Ib84bafb26c58701cc86f123236de4fff01aaa4aa\n"
    },
    {
      "commit": "58229846d03ce719c5a6ef94975b57f4ed21e87a",
      "tree": "4c9ad15e66c660a27de86686ffec5350779dae60",
      "parents": [
        "d7df6748f21d3f4b9209eaa2bfba73af0af31538",
        "cf9d19e030830fd808d59f1c97edf65e66f675d6"
      ],
      "author": {
        "name": "Daniel Nishi",
        "email": "dhnishi@google.com",
        "time": "Tue Feb 21 17:37:55 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 21 17:37:58 2017 +0000"
      },
      "message": "Merge \"First pass at adding the cache quota suggestions.\""
    },
    {
      "commit": "af736c9e996a8b0dcf287e6ff264c5a1f8ac50e8",
      "tree": "def3def9b3c171ad440ff2964ded188bceea54fa",
      "parents": [
        "d133b00efb49adeb21b9b62b334769c03f40bf43",
        "e86b78a57404a6d138e999db7c9379a05d1cf73f"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Feb 17 15:05:08 2017 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Feb 17 15:05:37 2017 -0800"
      },
      "message": "resolve merge conflicts of e86b78a57404 to master\n\nTest: none\nChange-Id: I8bf02f8198d003c4453cc59b7a3bccdff688ca15\n"
    },
    {
      "commit": "3c2c2764d4b141ee835b7c0725022e9af77c83a9",
      "tree": "dfe6c8998651225e6451b7551d70a07895f97b0e",
      "parents": [
        "4896a04013a97a41564b0a68685cc559bc81fcca",
        "313e645801e561dbf25320110ab4790a33720dae"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Feb 17 22:25:53 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Feb 17 22:25:53 2017 +0000"
      },
      "message": "Merge changes I82aa8140,Ib62a5dd6,I2c4d64e2\nam: 313e645801\n\nChange-Id: Ia10d20ea4ebabc2cc84524950dec7570104b185f\n"
    },
    {
      "commit": "313e645801e561dbf25320110ab4790a33720dae",
      "tree": "64ccd7f6d68c3c4e09425790275f6833e8d1ec54",
      "parents": [
        "855889b086ab62255b13cb7eb3783ae5e95ee492",
        "254a418e97e02f43d1f25ea801d67e1bdf498d65"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Feb 17 21:44:21 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 17 21:44:21 2017 +0000"
      },
      "message": "Merge changes I82aa8140,Ib62a5dd6,I2c4d64e2\n\n* changes:\n  Enable multidex for SystemUITests\n  Add missing transitive dependencies\n  Revert \"Remove support of disabling Jack.\"\n"
    },
    {
      "commit": "c9c8b590c5d51b54a84824270be49ddc16fd2a71",
      "tree": "8529edd7e9d1181235c62c2bf17cf42b4f716bb9",
      "parents": [
        "2dc835dd1ca183103f069fdb85ec9e3548d1b3c2",
        "f46aa6f9eea39df7f0a9528d78b8687f2e0e5b63"
      ],
      "author": {
        "name": "Brad Ebinger",
        "email": "breadley@google.com",
        "time": "Fri Feb 17 20:29:13 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Feb 17 20:29:13 2017 +0000"
      },
      "message": "Merge \"Adds @hide ImsService APIs\" am: 2b879016d3\nam: f46aa6f9ee\n\nChange-Id: I12e10d796a7b2d56cacf8e9b53bb5e228b79ecc3\n"
    },
    {
      "commit": "cf9d19e030830fd808d59f1c97edf65e66f675d6",
      "tree": "7d27e4f71ff44e24ce8aa36038dc5e88b4eb8a70",
      "parents": [
        "ceb250424a32ef45549fa728adcd766cb7c35b54"
      ],
      "author": {
        "name": "Daniel Nishi",
        "email": "dhnishi@google.com",
        "time": "Mon Jan 23 14:33:42 2017 -0800"
      },
      "committer": {
        "name": "Daniel Nishi",
        "email": "dhnishi@google.com",
        "time": "Fri Feb 17 10:26:16 2017 -0800"
      },
      "message": "First pass at adding the cache quota suggestions.\n\nThis currently integrates with installd, but not with\nany framework API to expose this information to apps.\n\nThe first pass, as per the design doc, adds a service\nwhich polls for large changes in the file system free space.\nIf enough spaces changes, it begins a recalculation of the\ncache quotas and pipes the information down to installd.\nThis calculation is done in the updateable ExtServices.\n\nFurther enhancements in later patches include integrating this\nto listen to package install and removal events, caching the\nlast computed quota values into an XML file on disk to load\non boot, and exposing the information to apps.\n\nBug: 33965858\nTest: ExtServices unit test\n\nChange-Id: Ie39f228b73532cb6ce2f98529f7c5df0839202ae\n"
    },
    {
      "commit": "be2d3307e23f08bbc29e1b33b6aba9c7d05a5867",
      "tree": "8ce1604900d34f98860b49d0e9723bb541ebc647",
      "parents": [
        "97ebc29e9c3afb65394be27c09ab42ca7d32c602"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Dec 21 16:48:32 2016 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Feb 16 11:41:42 2017 -0800"
      },
      "message": "Revert \"Remove support of disabling Jack.\"\n\nThis reverts commit ba068f48727dee2223b3be3b0359accb949e363d.\n\nTest: builds\nChange-Id: I2c4d64e26c2e4ceb710a39de2ee9749160d33a72\n"
    },
    {
      "commit": "1639c21be6e7cd7699db4080fcf2ccc5cb2006e6",
      "tree": "00eb626935a8066011289e7cc54e37bb52a10318",
      "parents": [
        "eb82e3de8777414e722dca06039e477eea3a0cdd"
      ],
      "author": {
        "name": "Brad Ebinger",
        "email": "breadley@google.com",
        "time": "Wed Jan 25 14:26:41 2017 -0800"
      },
      "committer": {
        "name": "Brad Ebinger",
        "email": "breadley@google.com",
        "time": "Thu Feb 16 11:14:26 2017 -0800"
      },
      "message": "Adds @hide ImsService APIs\n\nAdds @hide ImsService API implementations to be used for the new\ndynamic ImsResolver.\n\n1) ImsService - The main class that all vendor ImsServices will implement.\nImsServices that implement this method must return their implementations\nof MMTelFeature when onCreateMMTelFeature is called. The base ImsService\nclass also relays all method calls through itself as a proxy. So, when\nTelephony calls a method, the ImsService figures out which MMTelFeature\nshould be called (by slot) and then calls that feature\u0027s method\nimplementation.\n\n2) MMTelFeature/RcsFeature - Implements the I*Feature interfaces, which\nare used on both sides of the interface. The vendor implemented ImsService\nmust implement all methods provided in the I*Feature interface in their\nimplementation of *Feature that they return to the ImsService.\n\n3) ImsServiceProxy[Compat] - The Proxy interface in telephony that will be\ncalled in ImsManager. When a method in this class is called, it will call\nthe respective AIDL function: Telephony -\u003e IImsServiceController AIDL -\u003e\nvendor ImsService -\u003e vendor ImsFeature implementation.\nImsServiceProxyCompat is there to provide backwards compatibility with\nolder ImsServices that do not use the new ImsService implementations.\nIt implements all of the methods that are defined in the new I*Feature\ninterfaces and translates them to the old ImsService AIDL calls.\n\nTest: Adds Unit Tests (see frameworks/opt/telephony)\nMerged-In: Id3466c178384158c788ab1d708ab108bb95866fc\nChange-Id: Id3466c178384158c788ab1d708ab108bb95866fc\n"
    },
    {
      "commit": "15708a316bcfafc93aa1795fae65e83035270d88",
      "tree": "c74dfad07487f843ad9cbd93e9ed06d2cc5072b0",
      "parents": [
        "89863ea4f6e973a9405ee3c9fac79dd18b535c7e"
      ],
      "author": {
        "name": "Brad Ebinger",
        "email": "breadley@google.com",
        "time": "Wed Jan 25 14:26:41 2017 -0800"
      },
      "committer": {
        "name": "Brad Ebinger",
        "email": "breadley@google.com",
        "time": "Thu Feb 16 11:03:31 2017 -0800"
      },
      "message": "Adds @hide ImsService APIs\n\nAdds @hide ImsService API implementations to be used for the new\ndynamic ImsResolver.\n\n1) ImsService - The main class that all vendor ImsServices will implement.\nImsServices that implement this method must return their implementations\nof MMTelFeature when onCreateMMTelFeature is called. The base ImsService\nclass also relays all method calls through itself as a proxy. So, when\nTelephony calls a method, the ImsService figures out which MMTelFeature\nshould be called (by slot) and then calls that feature\u0027s method\nimplementation.\n\n2) MMTelFeature/RcsFeature - Implements the I*Feature interfaces, which\nare used on both sides of the interface. The vendor implemented ImsService\nmust implement all methods provided in the I*Feature interface in their\nimplementation of *Feature that they return to the ImsService.\n\n3) ImsServiceProxy[Compat] - The Proxy interface in telephony that will be\ncalled in ImsManager. When a method in this class is called, it will call\nthe respective AIDL function: Telephony -\u003e IImsServiceController AIDL -\u003e\nvendor ImsService -\u003e vendor ImsFeature implementation.\nImsServiceProxyCompat is there to provide backwards compatibility with\nolder ImsServices that do not use the new ImsService implementations.\nIt implements all of the methods that are defined in the new I*Feature\ninterfaces and translates them to the old ImsService AIDL calls.\n\nTest: Adds Unit Tests (see frameworks/opt/telephony)\nChange-Id: Id3466c178384158c788ab1d708ab108bb95866fc\n"
    },
    {
      "commit": "da0acdf938f1d6e7a978e143d5d80d8dd5af52ad",
      "tree": "a87f84a6afb69607c20513adb4730af5daf7ff92",
      "parents": [
        "3d52f79be4dba94f046709fabc1bfb911a670709"
      ],
      "author": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Wed Feb 15 10:28:51 2017 -0800"
      },
      "committer": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Wed Feb 15 20:32:41 2017 -0800"
      },
      "message": "Auto-grant background execution and data access\n\nCompanion apps can declare they want background access and\nbackground execution exceptions via dedicated permissions\nin their manifest. If such a permission is requested we\nauto-grant the corresponding exception after the user has\nchosen a device from the companion UI. These permissions\nare appop ones allowing us to use the app ops for gauging\nwhether the user has made a change after we auto-granted\nthe permission since we would like to revoke these special\nprivileges when the app disassociates itself from the\ncompanion device if the user did not make an excplicit\nchoice otherwise.\n\nWhile at this auto-grant fixed location permission to the\ncompanion device discovery service.\n\nTest: manual\n\nChange-Id: I46ee4291e5e5a8f7613f0dd75eb61d6b9341f306\n"
    },
    {
      "commit": "782043caf81055aa1c331e9cc15b24a10e1bf17a",
      "tree": "3f0991e7170aef7cd87b13e2bc7135b91d582783",
      "parents": [
        "9b6611290644d5fd3c96d532f1fa7513848d0f33"
      ],
      "author": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Sat Feb 11 00:52:02 2017 +0000"
      },
      "committer": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon Feb 13 21:31:37 2017 -0800"
      },
      "message": "Refactor auto-fill\n\n* Fix a layering issue where auto-fill manager which is in view\n  depended on activity which is in app\n\n* Moved auto-fill classes to view or service based on their\n  purpose and removed dependecy on the classes in view to the\n  classes in service\n\n* Push state to local auto-fill manager whether auto-fill is\n  enabled to avoid making IPC for every focus transition if\n  the user did not enable the feature\n\n* Remove unnecessary offload to messages when handling calls\n  to auto-fill manager service as these are made over a oneway\n  interface and in general they do almost no work and typically\n  we do these on the binder thread\n\n* Removed id from data set and fill response as the provider\n  can embed everything it needs to id them in the auth pending\n  intent\n\n* Enforce the auth UI to be only an activity as this will work\n  with multi-window, recents, and back and also does not require\n  draw on top of other app special permission\n\n* Authentication also no longer requires passing a remotable\n  callback to the auth activity but the activity handles the\n  request as if called for a result\n\n* Handling stopping of a user to clean up in-memory state as\n  well as handling when a user gets unlocked as a provider may\n  be non-direct boot aware\n\n* User the correct context when creating an auto-fill manager\n\n* Move the receiver that listens for requests to hide system\n  windows to the manager service as the UI is a singleton and\n  no need every per-user state to register its own\n\n* Removed extras from dataset as the only case a provider needs\n  to associate state with a dataset is for auth and the provider\n  can embed this data in the auth pending intent\n\nTest: manual and CTS\n\nChange-Id: I4bc54c13cf779d7f6fdb3ab894637f9fac73f603\n"
    },
    {
      "commit": "b1f573dca3ccdd113ca513f32c9964211ca71c78",
      "tree": "5baf30a11c5ee9acf7405867a69a2df1b68ebd1c",
      "parents": [
        "570661486882ab2690b62176e83c23a4b2d6a796"
      ],
      "author": {
        "name": "Stefanot",
        "email": "stefanot@google.com",
        "time": "Fri Jan 27 12:03:53 2017 +0000"
      },
      "committer": {
        "name": "Stefanot",
        "email": "stefanot@google.com",
        "time": "Fri Feb 10 11:03:08 2017 +0000"
      },
      "message": "Add monitoring to backup in BackupManager.\n\nThis is the first CL of many that will add instumentation to\nbackup/restore operation in the BackupManager. For more details please\npoint to:\nhttps://docs.google.com/document/d/1sUboR28LjkT1wRXOwVOV3tLo0qisiCvzxIGmzCVEjbI/edit#\nThis first Cl introduces 3 events that we sent to the monitor.\n\nTest: ag/1858962 (same topic)\n\nBUG: 34873525\n\nChange-Id: I6c338b6fd9f4d7c8670dac201897250b6b170677\n"
    },
    {
      "commit": "a0e468ac3358583ae34db510fe2fc33c832eb29a",
      "tree": "b3a23bb99074b2097bdf76e510d30943888dc294",
      "parents": [
        "47c4c94100e1ec861d2c2593ad66ba050bbe93fe",
        "7fa65eef203c4ed3ce00ddef96ccf311d3bfb58c"
      ],
      "author": {
        "name": "Yohei Yukawa",
        "email": "yukawa@google.com",
        "time": "Thu Feb 09 05:11:01 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 09 05:11:04 2017 +0000"
      },
      "message": "Merge \"Avoid sync IPCs from TSMS to SpellCheckerService\""
    },
    {
      "commit": "7fa65eef203c4ed3ce00ddef96ccf311d3bfb58c",
      "tree": "8ad2efdf2380996ecb8a2d731790fb30268e8a04",
      "parents": [
        "fd62c58ede768be5830a052ee2d5ee6ade787839"
      ],
      "author": {
        "name": "Yohei Yukawa",
        "email": "yukawa@google.com",
        "time": "Wed Feb 08 11:54:05 2017 -0800"
      },
      "committer": {
        "name": "Yohei Yukawa",
        "email": "yukawa@google.com",
        "time": "Wed Feb 08 11:54:05 2017 -0800"
      },
      "message": "Avoid sync IPCs from TSMS to SpellCheckerService\n\nCurrently, TextServicesManagerServices uses an AIDL interface called\nISpellCheckerService when binding to a spell-checking service.\nHowever, this interface uses synchronous (blocking) binder calls\nrather than asynchronous (oneway) calls.  As a result, there are\nsituations where the system process has made a blocking binder call\ninto untrusted application code from its main looper thread.\n\nAs general policy, the system process must never allow its looper\nthreads to block on application code.\n\nThis CL addresses the above issue by converting ISpellCheckerService\ninto oneway interface, which instead takes a result receiver\nISpellCheckerServiceCallback so that spell-checking services can\nreturn results asynchronously.\n\nNote that the above protocol issue was also the root cause of\nBug 5471520.  Hence we can also logically revert the previous CL [1]\nfor Bug 5471520.\n\n [1]: Iedf2c2cdd8d4834545d06d72ade3ce211b104b1d\n      4e713f14419a37f385cf1509b011982bdcf67edc\n\nTest: Ran `adb shell dumpsys textservices` to check the\n      \"Spell Checker Bind Groups:\" section in the following three\n      steps.\n      1. Before apps start requesting spell checker sessions.\n      2. While apps are owning active spell checker sessions.\n      3. After all the apps that owned spell checker sessions are\n         gone.\n      Made sure that spell checker service is not running when\n      there is not spell checker bind group.\nBug: 7254002\nChange-Id: I92e7aa40dc9ea14f67d355f0bfa15325b775d27b\n"
    },
    {
      "commit": "e5d975cdffc29aa8f9390f001e15d2eb0f19ce82",
      "tree": "4dc0a94d464fa410a699a035e45cf407d740cc9d",
      "parents": [
        "4561f90194a511d135bcb9645332f99fe42e053e",
        "cf879db3666523404ff7e15e77b11434732b4a06"
      ],
      "author": {
        "name": "Wyatt Riley",
        "email": "wyattriley@google.com",
        "time": "Wed Feb 08 02:08:01 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 08 02:08:06 2017 +0000"
      },
      "message": "Merge \"GNSS Batching - Default Implementation\""
    },
    {
      "commit": "cf879db3666523404ff7e15e77b11434732b4a06",
      "tree": "b479463245b8ad1f2c70862856ace256ada7f619",
      "parents": [
        "85adc2148854ed63569457da651e0213eaeaf0a4"
      ],
      "author": {
        "name": "Wyatt Riley",
        "email": "wyattriley@google.com",
        "time": "Thu Jan 12 13:57:38 2017 -0800"
      },
      "committer": {
        "name": "Wyatt Riley",
        "email": "wyattriley@google.com",
        "time": "Tue Feb 07 14:55:21 2017 -0800"
      },
      "message": "GNSS Batching - Default Implementation\n\nConnections from .hal layer, through to\nLocation Manager System APIs\n\nBug: 31974439\nTest: builds, boots, ordinary GNSS \u0026 new GNSS batching\n      basic functional checks on Marlin\nChange-Id: If75118c27b5ed34cfc16c9f817b60a3be5485095\n"
    },
    {
      "commit": "6ed45d8cd33c297e608aba94fc1f61dace7a7cca",
      "tree": "7d62835183a39a490ad2b518b27cdf6c1c232cdf",
      "parents": [
        "556897f7018e1b231d6200e21dd45657f180a63c"
      ],
      "author": {
        "name": "Eugene Susla",
        "email": "eugenesusla@google.com",
        "time": "Sun Jan 22 13:52:51 2017 -0800"
      },
      "committer": {
        "name": "Eugene Susla",
        "email": "eugenesusla@google.com",
        "time": "Mon Feb 06 12:50:55 2017 -0800"
      },
      "message": "CompanionDeviceManager\n\nThis introduces an API for apps that support companion devices to provide a\nmore streamlined flow for pairing and setting up the device\n\nBug: 30932767\nTest: Using a toy app, invoke the newly introduced API (CompanionDeviceManager),\n and go through the flow. Ensure filtering works, and device is returned to\n the calling app. Ensure the calling app can pair to the selected device.\nChange-Id: I0aeb653afd65e4adead13ea9c7248ec20971b04a\n"
    },
    {
      "commit": "0f4928f1f73407485d6d94beda1dba1a2360ebbf",
      "tree": "423b3d3f2a1a51981a7b7f0fdc7575482b706f36",
      "parents": [
        "21c8595d764bf6cbf2a1b59715c85ca211240ed4"
      ],
      "author": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Thu Feb 02 20:02:51 2017 -0800"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon Feb 06 04:02:35 2017 +0000"
      },
      "message": "Refactoring of auto fill - lifecycle, auth, improvements\n\n1. Move management of the remote fill service in a dedicated\n   class that abstracts away the async and ephemeral nature\n   of the binding.\n\n2. Update auth to move fingerprint out of the platform and\n   allow response and dataset auth.\n\n3. Cleaned up the fill and save callback classes.\n\n4. The UI is now shared among all sessions and cleaned up.\n\n5. Reshuffled the remote callbacks to have cleaner separation.\n\n6. Cleaned up and tightened the reponse and dataset classes.\n\n7. Added API to support communicationn with intent based auth.\n\nTest: CTS + manually\n\nbug:31001899\n\nChange-Id: Idc924a01d1aea82807e0397ff7293d2b8470d4d6\n"
    },
    {
      "commit": "27fcd9c97a2ceb50bab026237390207e5ee9e290",
      "tree": "d3860272f2978e1cef6afadf9f68f99afe806e53",
      "parents": [
        "669b1d6bfe2d737cbd69f75d32378f7e6cab0c30"
      ],
      "author": {
        "name": "Phil Weaver",
        "email": "pweaver@google.com",
        "time": "Fri Jan 20 15:57:24 2017 -0800"
      },
      "committer": {
        "name": "Phil Weaver",
        "email": "pweaver@google.com",
        "time": "Tue Jan 31 14:27:09 2017 -0800"
      },
      "message": "Accessibility can capture fingerprint gestures\n\nBug: 27148522\nTest: Unit tests for two new classes in this CL, CTS in\nlinked CL.\nChange-Id: Icb5113e00b1f8724814263b3cc7f72fe4a6f0b41\n"
    },
    {
      "commit": "67024f1b8feac1f59fff6a123f45f18a70e80e4f",
      "tree": "08f14fe708c46cc5c13766b33b7eb497ed119878",
      "parents": [
        "6675bbf093e2d9fdb620ed42602dde2a7902e8ce",
        "c565e1d3cea6f8db4fa0371b3cdb9fe11dbf4483"
      ],
      "author": {
        "name": "Abodunrinwa Toki",
        "email": "toki@google.com",
        "time": "Mon Jan 30 19:12:46 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 30 19:12:50 2017 +0000"
      },
      "message": "Merge \"Implement TextClassification system service.\""
    },
    {
      "commit": "7d670b4f738df436ba8025ee2ae360ce070c2a7f",
      "tree": "58d9461c2f4117378b1c6c0d4de6ee711de61520",
      "parents": [
        "3bec1cf5a57012407d0261533232e531a115a994",
        "eabc9e95768e7ac9acc3b32dc9ac2edf99c9e2c5"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jan 27 19:42:56 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 27 19:42:59 2017 +0000"
      },
      "message": "Merge \"OMS: introduce the OverlayManagerService\""
    },
    {
      "commit": "fca7aac5ecd995085b71a4d90b4862f68fbaeb45",
      "tree": "9589533ab024714d5b6fcda9a13919d203698559",
      "parents": [
        "9e77aefe9ce2c3caa8c0daebf21c86088e10b951"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Thu Jan 26 18:47:14 2017 -0800"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Thu Jan 26 18:47:14 2017 -0800"
      },
      "message": "Work around clang-tidy segmentation fault.\n\nThis should affect only builds that call clang-tidy.\nWithout this change, clang-tidy has segmentation fault\nwhen compiling several files in the incident_* directories.\n\nBug: 34740546\nTest: build with WITH_TIDY\u003d1 and\nDEFAULT_GLOBAL_TIDY_CHECKS\u003d\"*,-readability-*,-google-readability-*,-google-runtime-references\"\n\nChange-Id: Idfd46f36c01ccdd401eb54b750bc9d962c29ddeb\n"
    },
    {
      "commit": "eabc9e95768e7ac9acc3b32dc9ac2edf99c9e2c5",
      "tree": "f4621e85646f090e0adf1643d3d4ef24ab51e721",
      "parents": [
        "dacf5e522e67fc1576f5362c372a8159c88423a4"
      ],
      "author": {
        "name": "Mårten Kongstad",
        "email": "marten.kongstad@sonymobile.com",
        "time": "Tue Dec 15 16:40:23 2015 +0100"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Jan 26 17:04:53 2017 -0800"
      },
      "message": "OMS: introduce the OverlayManagerService\n\nAdd a new system service to manage Runtime Resource Overlays. This will\noffload the PackageManagerService and allow administration of overlay\npackages while affected packages continue to execute.\n\nOverlays can be enabled or disabled during runtime. Running applications\nwill re-create their ResourcesImpl objects and restart their activities\nvia the usual activity life cycle.\n\nThe order in which a set of overlays is loaded may also be changed\nduring runtime. The underlying mechanics are the same as for when an\noverlay is enabled or disabled.\n\nWhen an overlay changes state, e.g. becomes enabled, the\nOverlayManagerService will broadcast one of the new intents\nandroid.intent.action.OVERLAY_ADDED, *_CHANGED, *_REMOVED or\n*.OVERLAYS_REORDERED.\n\nClients that wish to read information about overlays for users other\nthan themselves are required to hold the\nandroid.permission.INTERACT_ACROSS_USERS_FULL permission. This mirrors\nthe protection level of PackageManager.getPackageInfo.\n\nClients that wish to change the information are required to\nhold the permission android.permission.CHANGE_OVERLAY_PACKAGES.\n\nEach pair of overlay package and corresponding target package is\nrespresented by a new OverlayInfo class. This class mirrors the\nexisting PackageInfo class.\n\nOverlay packages are handled per Android user. The data is persisted in\n/data/system/overlays.xml.\n\nCo-authored-by: Martin Wallgren \u003cmartin.wallgren@sonymobile.com\u003e\nSigned-off-by: Zoran Jovanovic \u003czoran.jovanovic@sonymobile.com\u003e\nBug: 31052947\nTest: run tests from \u0027OMS: tests for OverlayManagerService\u0027\nChange-Id: I15325e173193df3240b8dc0a58c852fd7a3d5916\n"
    },
    {
      "commit": "0f4a8ba209175bc61b9925508b4980cee3601f96",
      "tree": "9202aa9dfaa4ed0c007664767d5ad4ea8c14e6b6",
      "parents": [
        "3cb0a47aded5d31a24469b9da0485cf121efb7d8",
        "ded1df24e01b7317593bbec84724b10f5444d5d9"
      ],
      "author": {
        "name": "Brad Ebinger",
        "email": "breadley@google.com",
        "time": "Thu Jan 26 01:56:25 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jan 26 01:56:25 2017 +0000"
      },
      "message": "Merge \"Adding Dynamic ImsService Binding (1/3)\" am: 8e6b13a1c0 am: 64057ab972 am: 2741442324\nam: ded1df24e0\n\nChange-Id: Ifd95efa076b7f5c8c8b02be7688aab1008bbc63c\n"
    },
    {
      "commit": "ded1df24e01b7317593bbec84724b10f5444d5d9",
      "tree": "6a5ca2a99db381d7558e8dc799c3b39ad3cee351",
      "parents": [
        "7fef16ff248051b57433186f14db04d8cf070628",
        "2741442324618804cca953e30251864142e6302d"
      ],
      "author": {
        "name": "Brad Ebinger",
        "email": "breadley@google.com",
        "time": "Thu Jan 26 01:49:53 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jan 26 01:49:53 2017 +0000"
      },
      "message": "Merge \"Adding Dynamic ImsService Binding (1/3)\" am: 8e6b13a1c0 am: 64057ab972\nam: 2741442324\n\nChange-Id: Ibd5c988226e7994c332a7e7f8b40a9338cf84e0f\n"
    },
    {
      "commit": "2741442324618804cca953e30251864142e6302d",
      "tree": "73cc677fcff49d36e8f903d96e16a2112700bd89",
      "parents": [
        "a07e5312ccc21dffbfeecee17e5c859e0cb952d1",
        "64057ab972674ac0105af9e3a7003416f9a9c823"
      ],
      "author": {
        "name": "Brad Ebinger",
        "email": "breadley@google.com",
        "time": "Thu Jan 26 01:46:06 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jan 26 01:46:06 2017 +0000"
      },
      "message": "Merge \"Adding Dynamic ImsService Binding (1/3)\" am: 8e6b13a1c0\nam: 64057ab972\n\nChange-Id: I901c72a38b522c190e849de55078036adc80d8b6\n"
    },
    {
      "commit": "64057ab972674ac0105af9e3a7003416f9a9c823",
      "tree": "667f891c9608c66bbf5de259f0ddc6f424a178f2",
      "parents": [
        "e80181055327812d83b73fe0357bebce156af3b1",
        "8e6b13a1c0e969b00d6b6e29fd367082be071ff9"
      ],
      "author": {
        "name": "Brad Ebinger",
        "email": "breadley@google.com",
        "time": "Thu Jan 26 01:41:38 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jan 26 01:41:38 2017 +0000"
      },
      "message": "Merge \"Adding Dynamic ImsService Binding (1/3)\"\nam: 8e6b13a1c0\n\nChange-Id: I8534273da5579b7662e66f80a60348a4665dd65b\n"
    },
    {
      "commit": "024aaf23881c142ba92194a001ac038253ae708e",
      "tree": "d0017aaa47e767a9dcf823f556604186509f417b",
      "parents": [
        "6d064d8780c4626d033c26fd87242080a2f1c768"
      ],
      "author": {
        "name": "Brad Ebinger",
        "email": "breadley@google.com",
        "time": "Mon Jan 23 15:17:50 2017 -0800"
      },
      "committer": {
        "name": "Brad Ebinger",
        "email": "breadley@google.com",
        "time": "Wed Jan 25 15:12:28 2017 -0800"
      },
      "message": "Adding Dynamic ImsService Binding (1/3)\n\nAdds support for dynamic ImsService Binding (change 1/3). Included\nin this change:\n- AIDLs for ImsServiceController\n- ImsFeature/ImsServiceBase definitions\n- KEY_CONFIG_IMS_PACKAGE_OVERRIDE CarrierConfig option\n\nTest: Unit Tests in opt/telephony\nBug: 30290416\nChange-Id: Ic4cb1d85a29681b08a6a525c588a72209862dcc3\n"
    },
    {
      "commit": "b7cab6a19096458a7fafa905eed52db83759b6c6",
      "tree": "2afce756d27e0d5efd92e6f9ec3ca35a084cc336",
      "parents": [
        "b08655764bea5ab0c2042c0cf59d4b2a602f6584",
        "6e2b01ce75fb1d5647d5d788d8a5644c30cb3068"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 25 01:16:28 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 25 01:16:32 2017 +0000"
      },
      "message": "Merge changes from topic \u0027bisto-request\u0027\n\n* changes:\n  Allow privileged app to set media key event listener\n  Allow privileged app to set volume key long-press listener\n"
    },
    {
      "commit": "d9793989834ec7dd3dfe645c6bfba50978c16253",
      "tree": "fee409cb03b67e511341d9f219be2722008acd18",
      "parents": [
        "454a9777b84431ad0f3492477d197390eb491508",
        "823287d28ed75f96cee31cf465220fcbcbc5c7ac"
      ],
      "author": {
        "name": "Badhri Jagan Sridharan",
        "email": "badhri@google.com",
        "time": "Tue Jan 24 23:46:20 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 24 23:46:25 2017 +0000"
      },
      "message": "Merge \"Refactor UsbPortManager to use the binderised USB HAL\""
    },
    {
      "commit": "a393ff7dc7e7e7002a400d37868e0d6c14507b43",
      "tree": "437078580339282863067237e616782a6b33f07c",
      "parents": [
        "274907e729c45a112e1215a97a7ef43926053da9",
        "865303fce57b968f5bd7efb4dd23ccb1a3747b93"
      ],
      "author": {
        "name": "Shreyas Basarge",
        "email": "snb@google.com",
        "time": "Tue Jan 24 22:02:24 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 24 22:02:28 2017 +0000"
      },
      "message": "Merge \"API to select backup transport\""
    },
    {
      "commit": "6e2b01ce75fb1d5647d5d788d8a5644c30cb3068",
      "tree": "83df9116a274617897b06369a3c0fc8d9e3b34ba",
      "parents": [
        "5026936e49540449165fd5881231f8970a29ea91"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Thu Jan 19 16:33:14 2017 -0800"
      },
      "committer": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Tue Jan 24 09:41:54 2017 -0800"
      },
      "message": "Allow privileged app to set media key event listener\n\nIf the media key listener is set, the listener will receive the media key\nevents before any other sessions, but after the global priority session.\nIf the event is handled by the listener, other sessions cannot get the event.\n\nPrivileged app needs permission android.permission.SET_MEDIA_KEY_LISTENER\nto set the listener.\n\nBug: 30125811\nChange-Id: I2b2cf4ac7873b70899194701c6921990dcb9de02\n"
    },
    {
      "commit": "5026936e49540449165fd5881231f8970a29ea91",
      "tree": "67fc01a29dbe5ebd1132e17e4151eeabee62ad4c",
      "parents": [
        "70c5c30afa1379d4c3c856f08a3b5a0fdb5f9d92"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Fri Dec 23 11:22:02 2016 +0900"
      },
      "committer": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Tue Jan 24 09:41:43 2017 -0800"
      },
      "message": "Allow privileged app to set volume key long-press listener\n\nIf the volume long-press listener is set, the listener will receive\nthe volume key long-presses instead of chaging the volume.\n\nPrivileged app needs permission\nandroid.permission.SET_VOLUME_KEY_LONG_PRESS_LISTENER to set the listener.\n\nBug: 30125811\nChange-Id: I5e8fafbb950e5e11522da0f14004648d0877bf3e\n"
    },
    {
      "commit": "865303fce57b968f5bd7efb4dd23ccb1a3747b93",
      "tree": "d4fac32c678adc66ce81fc77c252a41b00107f5f",
      "parents": [
        "1628b97e54d7f56352d7f3ad9c6b4166d56082a5"
      ],
      "author": {
        "name": "Shreyas Basarge",
        "email": "snb@google.com",
        "time": "Fri Jan 13 14:48:56 2017 +0000"
      },
      "committer": {
        "name": "Shreyas Basarge",
        "email": "snb@google.com",
        "time": "Tue Jan 24 17:28:48 2017 +0000"
      },
      "message": "API to select backup transport\n\nThis cl adds an API to select a backup\ntransport by its component name and\nreceive a callback when BackupManager\nis bound to the transport. Calling this API\nwill make BackupManager bind to the transport\nif it isn\u0027t already bound to it.\n\nAlso fixes the issue where BackupManager would\ndetect only one transport per package.\n\nRef: go/backup-transport-switching\n\nBug: 33616220\nTest: Manually tested. GTS tests will be put up shortly.\n\nChange-Id: I8c23bdbb84ceb05eb1fad9b3a8b9c4441cb06c74\n"
    },
    {
      "commit": "823287d28ed75f96cee31cf465220fcbcbc5c7ac",
      "tree": "1a1767aa62eed4b2ee6ea7fbef3861aab9aa3690",
      "parents": [
        "29d20fc0f9d185ce356a984468142ae5c63e911b"
      ],
      "author": {
        "name": "Badhri Jagan Sridharan",
        "email": "Badhri@google.com",
        "time": "Mon Jan 23 17:13:15 2017 -0800"
      },
      "committer": {
        "name": "Badhri Jagan Sridharan",
        "email": "Badhri@google.com",
        "time": "Mon Jan 23 17:13:15 2017 -0800"
      },
      "message": "Refactor UsbPortManager to use the binderised USB HAL\n\nMove to a USB HAL to handle type-c ports as upstream is\nconsidering in merging a generic type-c interface to mainline\nkernel. However, the new sysfs interface can see minor changes\nin the future as the sysfs interface is sitll going to land\nin testing and it is still under review.\n\nBug: 31015010\nTest: Manually tested on Angler and sailfish for type-c role switches.\nChange-Id: I26771074c4b4f79a133e519bc6d35a4864a696d8\n"
    },
    {
      "commit": "04d72abde1efc963ebb2f145f859552e83b92d13",
      "tree": "62e2d74e3cb0d336d0d02afa4d89c650e83c4e6b",
      "parents": [
        "b334b8f0f26d93e50c07bbb90ade097025d795c1"
      ],
      "author": {
        "name": "Clara Bayarri",
        "email": "clarabayarri@google.com",
        "time": "Tue Jan 10 09:31:51 2017 -0800"
      },
      "committer": {
        "name": "Clara Bayarri",
        "email": "clarabayarri@google.com",
        "time": "Mon Jan 23 15:02:23 2017 +0000"
      },
      "message": "Expose fonts.xml via public API with a service\n\nThis change creates a new FontManagerService, in charge of providing\nfont management data. It exposes a public API to retrieve the\ninformation in fonts.xml without accessing it directly. To do this,\nit also refactors FontListParser\u0027s internal classes into a new public\nFontConfig class holding all the font data.\n\ngetSystemFonts() returns all the available information in fonts.xml\nas well as file descriptors for all the fonts. This allows us to\nshare the memory consumed by these files between all clients.\n\nBug: 34190490\nTest: See attached CTS change in topic\nChange-Id: I0e922f8bcc9a197a1988d04071eb485328d66fb7\n"
    },
    {
      "commit": "c565e1d3cea6f8db4fa0371b3cdb9fe11dbf4483",
      "tree": "3dddff584652550eb8eb7a53482cc24a79b210f4",
      "parents": [
        "e19fa20ca5a1e6f5c7fd95ed8990923a01185f92"
      ],
      "author": {
        "name": "Abodunrinwa Toki",
        "email": "toki@google.com",
        "time": "Wed Dec 14 15:38:56 2016 +0000"
      },
      "committer": {
        "name": "Abodunrinwa Toki",
        "email": "toki@google.com",
        "time": "Fri Jan 20 20:22:16 2017 +0000"
      },
      "message": "Implement TextClassification system service.\n\n- This service provides the TextClassificationManager access to the\n  classification model file.\n  See: Icb82b707c9c1b4dcb739f44d888bbc43bc3b03bb\n- This service is started at boot time.\n  See: Ie4a597bc5c6c4140afbcf7feaa9dd237a3fd5fef\n\nTest: Manually tested. Also see: Ic2a5eceeaec4cd2943c6c753084df46d30511fee\nBug: 32503402\nChange-Id: Ic428d00f291e268211866b3fc6b7acbc3eb04e1e\n"
    },
    {
      "commit": "389b853bc88fd77a7dceecbb9fb02c0c05d90e6a",
      "tree": "5b04e5c30c0f3bdc4e38b7da6060841c844adfbc",
      "parents": [
        "1fee3a64b7c673364a6288068fff5fd049b7e9b4"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Dec 02 12:17:21 2016 -0700"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Wed Jan 18 19:08:35 2017 +0900"
      },
      "message": "DO NOT MERGE: Switch over to new \"time.android.com\" NTP pool.\n\nAlso add logging to measure success/failure details.\n\nTest: builds, boots, and NTP fix obtained\nBug: 32969463\n\n(cherry picked from commit d3f689bf14a05de735b5cc92dcf20e7226c78690)\n\n(cherry picked from commit dda938a698a17b2943bbe78f6631a26dedabf28a)\n\nChange-Id: I67e4f54f8f2ec69b6522fbbe06ef196b1084f44a\n"
    },
    {
      "commit": "40e4645e6e564b962bb73c85c5325ec54ad34cc1",
      "tree": "f922e3a77dd5c52809942b82109ffd9ee2ac7f86",
      "parents": [
        "7d13f29b128b1cc572025a5f248559bb50c4be3a"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Fri Dec 16 18:38:53 2016 -0800"
      },
      "committer": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Tue Jan 17 11:45:41 2017 -0800"
      },
      "message": "Rewrite FingerprintService to use HIDL 2.1\n\nBug: 33199080\nTest: Fingerprint enroll, remove, unlock, fingerprint arbitration.\n\nChange-Id: I8b98236ba81f053527ee74c8a189af1adfd17d55\n"
    },
    {
      "commit": "6d553874bed06280766ae24ea605f9bbde3f5a4a",
      "tree": "4ba8338d6c7850b177104dab4ec0ea6b72016cff",
      "parents": [
        "e961992ed313ea1c733500d9b66f1af5349b59b2"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Thu Dec 08 17:13:25 2016 -0800"
      },
      "committer": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Tue Jan 10 12:50:47 2017 -0800"
      },
      "message": "YAMAFFR - Yet Another Major AutoFill Framework Refactoring\n\n- Explicitly split View methods into Assist and AutoFill methods, rather\n  than use an overloaded method that takes flags.\n- Simarly, renamed ASSIST_FLAG_SANITIZED_TEXT and\n  ASSIST_FLAG_NON_SANITIZED_TEXT flags to\n  AUTO_FILL_FLAG_TYPE_FILL and AUTO_FILL_FLAG_TYPE_SAVE respectively.\n- Created a AutoFillUI class to host the auto-fill bar and other UI\n  affordances.\n- Moved the temporary notifications to AutoFillUI (eventually that\n  class will host the real UI).\n- Moved FillData to android.app.view.autofill package.\n- Split IAutoFillCallback in 2 (IAutoFillAppCallback and\n  IAutoFillServerCallback, residing at the app and system_server\n  respectively), so service cannot fill the app directly (which lets\n  the framework control the UI).\n- Moved assist\u0027s IResultReceiver to AutoFillServiceImpl so\n  system_server can act as a mediator between the AutoFillService\n  implementation and the app being auto-filled.\n- Replaced FillData and FillableInputFields by a bunch of new objects:\n  - FillResponse contains a group of Datasets, each representing\n  different values\n    that can be used to auto-fill an activity (for example, different\n    user accounts), optional id of fields the service is interested\n    to save, and an optional bundle for service-side extras.\n  - Dataset contains a name, Fields, and an optional bundle for\n    service-side extras.\n  - Fields contain an AutoFillId (parcelable) and a value (Bundle)\n- Changed the temporary notifications to emulate the new workflow:\n  - Initial notification requests the auto-fill data but do not\n    auto-fill.\n  - Once service calls back, a new notification is shown with the\n    results.\n  - Then if the user selects a dataset, the activity is auto-filled\n    with it.\n  - It also shows a notification to emulate what can be saved.\n- Created an VirtualViewDelegate for views that uses a virtual\n  hierarchy for assist data.\n- Added new methods on ViewStructure to add children with virtual ids.\n- Added 2 methods on View to support auto-fill:\n  - autoFill(Bundle) to auto-fill the view.\n  - getAutoFillType() to return how the view can be auto-filled.\n- AutoFillType defines the input fields that support auto-fill:\n  - Text fields (like EditText)\n  - Toggle fields (like CheckBox)\n  - Lists (like RadioGroup)\n- AutoFillType can also have a sub-type representing its semantic (for\n  now only text fields have it, and it\u0027s the same as getInputType()).\n- etc :-)\n\nBug: 31001899\nTest: manual verification\nChange-Id: I2dd2fdedcb3ecd1e4403f9c32fa644cb914e186f\n"
    },
    {
      "commit": "9f7fd6c734527b33e40a9f0d8199c961d52694bb",
      "tree": "50c01c90b2910a26a61c420a61b83ea1758d2906",
      "parents": [
        "955da4804e7cc940e7aed93cb2ab1774e5f1cb03",
        "03533715295154f0bb66f84b7c25832d21156805"
      ],
      "author": {
        "name": "Geoffrey Pitsch",
        "email": "gpitsch@google.com",
        "time": "Tue Jan 10 16:20:10 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 10 16:20:13 2017 +0000"
      },
      "message": "Merge \"API improvements for creating NotificationChannels\""
    },
    {
      "commit": "8dedad31f7fa604028ee6d28963bcc564e76c467",
      "tree": "56b0761b6cc37c6e56b639358edde3d7efb6db00",
      "parents": [
        "bd439dcef072fd9a853a6bc9055cfa347ad7c969"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Jan 09 18:21:21 2017 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Jan 09 22:30:58 2017 -0700"
      },
      "message": "Wire up storage stats API to installd.\n\nNow that installd has the implementation details we need, we can wire\nup the public APIs to use them.\n\nShuffle APIs around a bit so that StorageStats can be reused for both\nUID and UserHandle results, and rename StorageSummary to\nExternalStorageStats.  Provide getTotalBytes() and getFreeBytes() as\nfirst-class methods so we can answer those questions quickly without\npaying the cost of measuring external storage details.\n\nCurrent costs on a typical device with a test account after flushing\ndentry caches:\n\nqueryStatsForUid() manual: 6922ms\nqueryStatsForUid() quota: 525ms\n\nqueryStatsForUser() manual: 1686ms\nqueryStatsForUser() quota: 113ms\n\nqueryExternalStatsForUser() manual: 42ms\nqueryExternalStatsForUser() quota: 2ms\n\nFor verification purposes, a new \"fw.verify_storage\" system property\ncan be set to compute both manual and quota statistics, and log any\ndiscrepancies.\n\nTest: builds, boots\nBug: 27948817, 32206268\nChange-Id: I4ea3df3372a7379aa8cf4c20c44120c8f0702c15\n"
    },
    {
      "commit": "03533715295154f0bb66f84b7c25832d21156805",
      "tree": "c4e1d1632a5c86e1a22c97152dc1a2d019b4fb3e",
      "parents": [
        "92b504cb9e3feb94d1bcd7e987e0ba97ee5d0fc7"
      ],
      "author": {
        "name": "Geoffrey Pitsch",
        "email": "gpitsch@google.com",
        "time": "Thu Jan 05 10:30:07 2017 -0500"
      },
      "committer": {
        "name": "Geoffrey Pitsch",
        "email": "gpitsch@google.com",
        "time": "Fri Jan 06 16:13:04 2017 -0500"
      },
      "message": "API improvements for creating NotificationChannels\n\nRemove listener for aysnchronous operation.\nAllow multiple channel creation from a single call.\nSilently no-op for creating existing channels.\n\nTest: runtest systemui-notification\nChange-Id: Ibc1340d21efa0c12d126bee437adcbb99141e86a\n"
    },
    {
      "commit": "e8cece9f2010388e02d8f4b3150f25168f8b7d76",
      "tree": "d71c47bdfd720ca9c7d2bf35a24c82c2c2de9ba0",
      "parents": [
        "c9facc0a1f6f3facb7d67ddae9b8a04af78dad0c"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Jan 04 11:33:33 2017 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Jan 05 15:39:16 2017 -0700"
      },
      "message": "Initial API shape for storage statistics.\n\nThis API is designed to provide both UID-level stats and overall\nsummary data for a given storage device, as identified by UUID.\n\nThe use of UID-level granularity might appear a bit clunky, but it\nmatches other usage statistics (such as network and battery), and it\nallows us to implement it using an extremely fast quota kernel\nfeature.\n\nA future CL will wire up the implementation to installd.\n\nTest: builds, boots\nBug: 32206268\nChange-Id: I7b51877682d0370c2402c19346f57809f0e7ac53\n"
    },
    {
      "commit": "48e6745a08e6b89a91afd43809948c47b08b0367",
      "tree": "091a46a4623b45f13ac719eea79fe173eb4173e5",
      "parents": [
        "c519b8d83ef043e01ace1b2dd2c39b1cbf57d258",
        "48738f5ad07b71066a74766a3a066dd10c45f027"
      ],
      "author": {
        "name": "Ivan Podogov",
        "email": "ginkage@google.com",
        "time": "Thu Dec 29 20:08:38 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Dec 29 20:08:38 2016 +0000"
      },
      "message": "Rename the Bluetooth profile classes for HID Device role. am: 0afe190af5 am: 94e3d3f499 am: 91ab2e2f98\nam: 48738f5ad0\n\nChange-Id: I15651c5a6e3baf53d915626ea6c55180fefe28b5\n"
    },
    {
      "commit": "c519b8d83ef043e01ace1b2dd2c39b1cbf57d258",
      "tree": "bf3c0d2d1c054349a23383635c88d989f23c22ad",
      "parents": [
        "9d621c4977df2319294843b7989a643c7bfcf720",
        "a9c92c2442db2775173136148f09f8e93385543e"
      ],
      "author": {
        "name": "Hemant Gupta",
        "email": "hemantg@codeaurora.org",
        "time": "Thu Dec 29 20:07:51 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Dec 29 20:07:51 2016 +0000"
      },
      "message": "Bluetooth: Add support for HID Device Role am: e88fd4b594 am: ee469c6fe9 am: 1ee22b7f70\nam: a9c92c2442\n\nChange-Id: I56625e00b1b6c2b7b11e4ce4dc3038072ef6c231\n"
    }
  ],
  "next": "48738f5ad07b71066a74766a3a066dd10c45f027"
}
