)]}'
{
  "log": [
    {
      "commit": "bfc4fcde9f756337fc8d0867ff04549b08688fff",
      "tree": "59c1a1cbbfd8483c335409c4c3a820a9a82c2f66",
      "parents": [
        "d86b8fea43ebb6e5c31691b44d8ceb0d8d3c9072"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Jun 05 17:38:17 2017 -0600"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Jun 05 17:38:19 2017 -0600"
      },
      "message": "Give Doclava our manifest; more permission docs.\n\nWe\u0027ve seen some @SystemApi methods protected with non-system\npermissions, so give Doclava the platform AndroidManifest.xml so it\ncan parse the actual permission protection levels to look for APIs\nthat are letting in non-system apps.\n\nAlso document more @SystemApi permissions.\n\nThis is purely a docs change; no logic changes are being made.\n\nTest: make -j32 update-api\nBug: 62263906\nChange-Id: Ie0f0a5fb0033817bcc95060f2183a52ae4ae7b06\n"
    },
    {
      "commit": "ab3c8116781488ff35cc9e4f7b2a4fefd99d860e",
      "tree": "79203c005c3ceb885e49184d5f91b4a2604b4652",
      "parents": [
        "d44afb99c81ff982f7faaf1dbb88e8b7e2974fc1",
        "05461c0a465e8dec1bb79287aea3890464042281"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@google.com",
        "time": "Wed May 10 15:05:51 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 10 15:05:55 2017 +0000"
      },
      "message": "Merge \"Start building SystemApi docs again; exact output.\" into oc-dev"
    },
    {
      "commit": "05461c0a465e8dec1bb79287aea3890464042281",
      "tree": "65d43f5e2855e4dfe7aab8530c87a85336cb5632",
      "parents": [
        "412aa37fea4bfbb2878ba26e5f0708b003146671"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue May 09 19:01:09 2017 -0600"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue May 09 19:02:05 2017 -0600"
      },
      "message": "Start building SystemApi docs again; exact output.\n\nNow that we\u0027ve fixed the docs build we can enable it again.  Also\nstart using the new \"-exactApi\" feature to get a file with exactly\nthe annotated APIs instead of a giant superset.  (This makes it\neasier to compare diffs between releases.)\n\nTest: make update-api \u0026\u0026 make -j32 online-system-api-sdk-docs\nBug: 38146029\nChange-Id: Ib6d5d931f71ac4f50bf3223c25b50ed5765406a3\n"
    },
    {
      "commit": "3de110bbb7f30090b4eae0e4edbf97c5819c4658",
      "tree": "a15106cfee0bb8f464733a91c798575c18f33290",
      "parents": [
        "7cf5f74f3fda19901d8c572f8c47981eda96e091"
      ],
      "author": {
        "name": "Abodunrinwa Toki",
        "email": "toki@google.com",
        "time": "Thu May 04 16:29:04 2017 +0100"
      },
      "committer": {
        "name": "Abodunrinwa Toki",
        "email": "toki@google.com",
        "time": "Tue May 09 13:51:03 2017 +0100"
      },
      "message": "Remove redundant TextClassificationService\n\nText classification is now being done entirely in the app\u0027s proccess.\nSee android.view.textclassifier.TextClassificationManager\nReverts Ic428d00f291e268211866b3fc6b7acbc3eb04e1e\n\nTest: bit FrameworksCoreTests:android.view.textclassifier.TextClassificationManagerTest\nFixes: 36852122\nChange-Id: Iffff3ab6e7d3b761576eb6bdcd5032db34b7a1b2\n"
    },
    {
      "commit": "5df218c5c46f2d363db9b5dd603c65badddcc722",
      "tree": "01033323ecdefab45aaf006e6d2d5baeba133f58",
      "parents": [
        "bc6c82c20d8bd5498505b397a2787b772de8dbff",
        "91fe3080e7a27868f40b04dd7a42bb3136149970"
      ],
      "author": {
        "name": "Jakub Pawlowski",
        "email": "jpawlowski@google.com",
        "time": "Wed Apr 26 08:16:48 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 26 08:16:53 2017 +0000"
      },
      "message": "Merge changes I8f5a756a,I2bac468f,I043dfefa,I2c55f96e into oc-dev\n\n* changes:\n  Bluetooth: expand comments on new PHY constants\n  Bluetooth: document status value in PHY read/update\n  Bluetooth: Add handler parameter to connectGatt\n  Get rid of the IAdvertiserCallabck\n"
    },
    {
      "commit": "a00c7c0a9983e30e4dcbc4f7ae847a26d9ea614f",
      "tree": "147c433a2c9ee6dc9caaa01198700c805ca6dedd",
      "parents": [
        "5313eee98a2e7bcac48105888bdfb25d61dce2ce",
        "0f3f60b576aedc78524d50da3dadada2201e63c2"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@google.com",
        "time": "Tue Apr 25 22:10:56 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 25 22:11:01 2017 +0000"
      },
      "message": "Merge \"Fix some issues found by new doclava linter.\" into oc-dev"
    },
    {
      "commit": "d2ac8b94e7e9909bcf302a72d0055bfa73bc22ac",
      "tree": "184267cabf29bd97973104807b40e38dd1207d6d",
      "parents": [
        "1c35554c5f8baf2af4552aab27619907b130d3b5"
      ],
      "author": {
        "name": "Jakub Pawlowski",
        "email": "jpawlowski@google.com",
        "time": "Wed Apr 19 05:44:34 2017 -0700"
      },
      "committer": {
        "name": "Jakub Pawlowski",
        "email": "jpawlowski@google.com",
        "time": "Tue Apr 25 13:00:25 2017 -0700"
      },
      "message": "Get rid of the IAdvertiserCallabck\n\nBug: 30622771\nTest: none\nChange-Id: I2c55f96e71cd3be67f88201ab07c91730cd85971\n(cherry picked from commit 89e10d3eb4a4728ffdb5a5eba76d772d28bcb855)\n"
    },
    {
      "commit": "0f3f60b576aedc78524d50da3dadada2201e63c2",
      "tree": "10687f8ec2be4c125de12c100effc0c796a4b529",
      "parents": [
        "30e06bb668f2e4b024c4ebc2a131de91c96de5eb"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Apr 24 18:06:20 2017 -0600"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Apr 25 13:12:45 2017 -0600"
      },
      "message": "Fix some issues found by new doclava linter.\n\nAdd missing API annotations for permissions and SdkConstants, and\ninvoke doclava with new \"-android\" flag.\n\nTest: make -j32 offline-sdk-docs\nBug: 37526420\nChange-Id: I970bb2655eb568fd25004636f134c794663a6c33\n"
    },
    {
      "commit": "7d70c8a085781e8213c41da6263b8f99cd486061",
      "tree": "96cef7e324a3644adf27e4720602f4d869f7722e",
      "parents": [
        "bde4eb5bcbbea44ea6a0b75133e0d128c51ff251"
      ],
      "author": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Fri Apr 14 17:40:25 2017 -0700"
      },
      "committer": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Mon Apr 17 18:04:48 2017 +0000"
      },
      "message": "Remove the docstring dependency on telephony-common\n\nThere should no longer be a requirement for frameworks/base\nto rely on telephony-common, so we should remove this\npossible source of circular build dependency.\n\nBug: 37360341\nTest: checkbuild\nChange-Id: I3cc198e25e3b4cfb7c0796246f6b3c4a7733e828\n"
    },
    {
      "commit": "e52a1bfede79f87a75c498730860796ba74dea83",
      "tree": "3360a7aa28e4a192d104ab4db7052d3428c3a42e",
      "parents": [
        "3de36a3cc145ed881e53c25d67338d49bfc1d01a",
        "3b8b46f3a46ccf35a6bb6a828af0f2d011cc9abe"
      ],
      "author": {
        "name": "Andrew Scull",
        "email": "ascull@google.com",
        "time": "Fri Apr 14 11:31:00 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 14 11:31:06 2017 +0000"
      },
      "message": "Merge \"Service for OEM lock management.\" into oc-dev"
    },
    {
      "commit": "f13eb2e0c7f6c398464620f21c52490ce43f01c7",
      "tree": "9f12069813a5e51fee521ab55b264f0c87881d6c",
      "parents": [
        "1be9766a68ab25d4912aa19859414c8b2af6242b"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Apr 13 10:45:47 2017 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Apr 13 15:21:31 2017 -0700"
      },
      "message": "Changed the naming scheme for Treble java libraries (both static and dynamic)\n\nandroid.hardware.foo@1.0-java \u003d\u003e android.hardware.foo-V1.0-java\n\nBug: 37207894\nTest: make\nChange-Id: Ica91a6813956f4ea99001c5f427be94865e48fde\nMerged-In: I2d8912dc752f904188457c3e6dac10da1afd287a\n"
    },
    {
      "commit": "f20a037ba2a6990bb51ad40ee18c7af18464f620",
      "tree": "a6f25165a22caa35a0eb576c4fdae4a25535d88c",
      "parents": [
        "ec8f35366851fcfea2d8b8e42821dda72bdca344"
      ],
      "author": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon Apr 10 17:08:05 2017 -0700"
      },
      "committer": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon Apr 10 17:43:44 2017 -0700"
      },
      "message": "Move API for disabling an autofill service to the manager\n\nTest: the topic has a CTS test\n\nbug:37170723\n\nChange-Id: I2be18968ea8df0fd3fb070fe2efc3e811b0e5a76\n"
    },
    {
      "commit": "38a6da6473563ce2dcee360cabe1183c2a7c926e",
      "tree": "0cb98a6b3514ab9e702f290ec1035d3ca9f0f892",
      "parents": [
        "eb93670383aa40ad7ed55861e667c08e8a3682a6"
      ],
      "author": {
        "name": "Kang Li",
        "email": "kanlig@google.com",
        "time": "Wed Apr 05 12:30:55 2017 -0700"
      },
      "committer": {
        "name": "Kang Li",
        "email": "kanlig@google.com",
        "time": "Thu Apr 06 18:08:14 2017 +0000"
      },
      "message": "Add a service to rank apps for ResolverActivity.\n\nbug: 36952725,30982298\n\nTest: used PTP before and after this fix.\n\nChange-Id: I5b249af2dd0d9fe32d1e524e8d2675c863e92b5b\n"
    },
    {
      "commit": "b077f6abd3ca76941d98bad2986a6cf06ec03d26",
      "tree": "25cf22d4d9417d6833d65645f759568bcfc59475",
      "parents": [
        "fade53591bfaf2b822be6e0ea9b57be67aa3b994",
        "a8a74e25ddb27a350c8f643590639b9131fae2e1"
      ],
      "author": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Thu Apr 06 01:34:32 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 06 01:34:37 2017 +0000"
      },
      "message": "Merge changes from topic \u0027ipsec-svc-pick\u0027 into oc-dev\n\n* changes:\n  Fix Log Traces for IpSecService\n  SystemServer: fix StartIpSecService trace and log\n  Add Initial IPsec APIs to IpSecService\n  IpSecManager and IpSecTransform API Cleanup\n  Change reserveSecurityParameterIndex() to take a remoteAddress\n  Add a Skeleton IpSecService\n"
    },
    {
      "commit": "b24399547c931dfcb9e6046072ee9c0f682464ac",
      "tree": "4a22f1e2be55c0a5d41335eba0cf0f1a9c50f8f4",
      "parents": [
        "1aade4e4a12020a50ef6b583a4821438fc23cd59",
        "c88749fb5a8de40572582e6eceefd46cda3afa2d"
      ],
      "author": {
        "name": "Kang Li",
        "email": "kanlig@google.com",
        "time": "Wed Apr 05 19:50:06 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 05 19:50:10 2017 +0000"
      },
      "message": "Merge \"Revert \"Add a service to rank apps for ResolverActivity.\"\" into oc-dev"
    },
    {
      "commit": "c88749fb5a8de40572582e6eceefd46cda3afa2d",
      "tree": "5321d0503cbb1b7142137c6f86cfafc242bd7495",
      "parents": [
        "90370e0b2497deba9382ab7ff1539b6849df8139"
      ],
      "author": {
        "name": "Kang Li",
        "email": "kanlig@google.com",
        "time": "Wed Apr 05 16:13:12 2017 +0000"
      },
      "committer": {
        "name": "Kang Li",
        "email": "kanlig@google.com",
        "time": "Wed Apr 05 19:44:02 2017 +0000"
      },
      "message": "Revert \"Add a service to rank apps for ResolverActivity.\"\n\nThis reverts commit 90370e0b2497deba9382ab7ff1539b6849df8139.\n\nb: 36952725\n\nChange-Id: Ifa8f182c707cdbbc989b1f61630f7a8fa856d32d\n"
    },
    {
      "commit": "cbb58ecc866f90b2fe829b808a65652376006c24",
      "tree": "ec541f5e7c3b80d33d649e2e655f29acb7a21964",
      "parents": [
        "c01dd791c331815cfa496548cf535147dedfaa8a"
      ],
      "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 Apr 05 10:23: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: 30984788\nTest: b/34812052, b/34811227\nChange-Id: I4cdcb643421141202f77a0e2f87a37012de0cd92\n(cherry picked from commit 28084d89ec136b56f5012be33a0dea147962f9f6)\n"
    },
    {
      "commit": "6df90fa53beda112e3abb1d4046fe47ee4e60049",
      "tree": "eb3a9ad27fc5a9b88a0eb25ef74cbe7adf45d76e",
      "parents": [
        "b841b4e919e1d40449435828c79609ba546140dd",
        "90370e0b2497deba9382ab7ff1539b6849df8139"
      ],
      "author": {
        "name": "Kang Li",
        "email": "kanlig@google.com",
        "time": "Tue Apr 04 17:42:28 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 04 17:42:32 2017 +0000"
      },
      "message": "Merge \"Add a service to rank apps for ResolverActivity.\" into oc-dev"
    },
    {
      "commit": "eabb5621dd67a159500c7a35eaa2f7999004c004",
      "tree": "2f5fe08e6bd54ff8b8adbccf3da6c5f7990068b2",
      "parents": [
        "2ac969827115c1b8bc86d9017eb1c7c1d5421b10",
        "817b4947397dc01d0c066ae847a3efd0e4a84a24"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Apr 04 17:16:33 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 04 17:16:43 2017 +0000"
      },
      "message": "Merge \"Revert \"Switch libplatformproto to sharedlib\"\" into oc-dev"
    },
    {
      "commit": "2ac969827115c1b8bc86d9017eb1c7c1d5421b10",
      "tree": "bf0fdccaef8e5bd12406c70e8194007a94f32bab",
      "parents": [
        "adc160553092883c07ca34490f3f77eb662af562",
        "ff55115121a7a2753ba2265cb3201a3a14c0874d"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 04 16:49:51 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 04 16:49:56 2017 +0000"
      },
      "message": "Merge \"Reorganize font enumeration API.\" into oc-dev"
    },
    {
      "commit": "90370e0b2497deba9382ab7ff1539b6849df8139",
      "tree": "a8df24da4506a94765b399e0d13c4f710e3cfa9c",
      "parents": [
        "82331f7f731769390eb5ef0cd6e8e38796bad422"
      ],
      "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": "Mon Apr 03 23:44:59 2017 +0000"
      },
      "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(cherry picked from commit 35b9e3015565850e9de963e4bda1be227825df5d)\n"
    },
    {
      "commit": "817b4947397dc01d0c066ae847a3efd0e4a84a24",
      "tree": "15eb72ffa4d1bc63334308dae02306f50173e720",
      "parents": [
        "e5549d414c7231ee0037cf413dad17e28b8905ba"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Apr 03 21:46:44 2017 +0000"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Apr 03 21:46:44 2017 +0000"
      },
      "message": "Revert \"Switch libplatformproto to sharedlib\"\n\nBug:36847782\n\nThis reverts commit e5549d414c7231ee0037cf413dad17e28b8905ba.\n\nChange-Id: I38f1c501b7e40be11ba5f0a7a50651e0c3e41fc5\n"
    },
    {
      "commit": "ff55115121a7a2753ba2265cb3201a3a14c0874d",
      "tree": "151c60917705792e4afa5bfc5b7820228a72cc50",
      "parents": [
        "be436bdefe1947c01eb4b42bf1b864b1e86b7fb9"
      ],
      "author": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Tue Mar 28 16:16:41 2017 -0700"
      },
      "committer": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Mon Apr 03 13:55:07 2017 -0700"
      },
      "message": "Reorganize font enumeration API.\n\nThis CL cleans up APIs around font variation settings.\n- Remove FontConfig and FontManager public API.\n- Remove FontManagerService from system service.\n- Extract inner class FontConfig.Axis as top-level class FontVariationAxis.\n  This is used by Typeface.Builder public API to create new Typeface.\n- Introduce and expose FontVariationAxis utility functions from/to string.\n- Throws if the invalid font variation settings is passed.\n\nTest: android.text.cts.FontVariationAxisTest passes\nTest: android.graphics.cts.TypefaceTest passes\nTest: android.graphics.cts.PaintTest passes\nChange-Id: I9ccafe7a53935960566243e2856e166878ca59ae\n"
    },
    {
      "commit": "dcc792a13feeb6c79d8740c1fcb875fbeb76b4bc",
      "tree": "ca8650070746efbc2e58fe552de24677801694e0",
      "parents": [
        "ef7dff2563ccbe74564ab3b417d810a04df556e7",
        "fc73d799e95f512628da326b0e69ea314f92a5aa"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Apr 03 20:35:14 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 03 20:35:18 2017 +0000"
      },
      "message": "Merge \"Persistent connection to DO/PO service.\" into oc-dev"
    },
    {
      "commit": "3b8b46f3a46ccf35a6bb6a828af0f2d011cc9abe",
      "tree": "7b30ae20e755619f16d0d54f1aae4bd0cd9cf2c6",
      "parents": [
        "ef3a28cb92039c198ed8e78a69d00bd9c8322dab"
      ],
      "author": {
        "name": "Andrew Scull",
        "email": "ascull@google.com",
        "time": "Mon Feb 13 18:12:15 2017 +0000"
      },
      "committer": {
        "name": "Andrew Scull",
        "email": "ascull@google.com",
        "time": "Mon Apr 03 19:10:59 2017 +0100"
      },
      "message": "Service for OEM lock management.\n\nThe new service separates OEM lock management from the implementation.\nCurrently, a user restriction (DISALLOW_OEM_UNLOCK) and the persistent\ndata block have been used to implement OEM lock management. In future,\nother implemention will be used e.g. a secure element.\n\nThe new API also allows for a signature to be passed when changing\nwhether the device is allowed to be OEM unlocked by the carrier which\ncan be used for cryptographic protection of the flag.\n\nBug: 34766843\nTest: gts-tradefed run gts -m GtsOemLockServiceTestCases -t com.google.android.oemlock.gts.OemLockServiceTest\nTest: cts-tradefed run cts -m CtsPermission2TestCases -t android.permission2.cts.PrivappPermissionsTest\nChange-Id: I01660d7605d297f273d43436ca03d64ff611b6cf\n"
    },
    {
      "commit": "fc73d799e95f512628da326b0e69ea314f92a5aa",
      "tree": "68bbe2eba535df1bc15b161215b1a596b48073e7",
      "parents": [
        "6f3bc05868061cfcc63e8fe8cb00147b03c1c64a"
      ],
      "author": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Wed Mar 22 14:22:35 2017 -0700"
      },
      "committer": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Fri Mar 31 14:50:20 2017 -0700"
      },
      "message": "Persistent connection to DO/PO service.\n\nTest: Manual test with customize API tests; CTS coming.\nChange-Id: I1d7eaa4b1fdd20726c1832c736d32f934c6a82f9\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": "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"
    }
  ],
  "next": "024aaf23881c142ba92194a001ac038253ae708e"
}
