)]}'
{
  "log": [
    {
      "commit": "e3f689d92411bf394425ddb81d94de8e752b3c1a",
      "tree": "247dc409c9311d6f7c705145b043034684eae1b3",
      "parents": [
        "6f78be2b03b93ed6e63fd6331bd9709b43577faf",
        "80dc0e2676908815dfb2c4b04a1ad80d0dbefbed"
      ],
      "author": {
        "name": "Hall Liu",
        "email": "hallliu@google.com",
        "time": "Thu Nov 01 18:49:41 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Nov 01 18:49:41 2018 -0700"
      },
      "message": "Merge \"Add TestApi to get RTT support status\" am: f583bb525a am: c02e86d0bf\nam: 80dc0e2676\n\nChange-Id: I9a9c30bac258ae38c44b2d82fca1572e96eb1cf7\n"
    },
    {
      "commit": "1322fa1efe614b2bd186d09ed8ab37fdcf1f4cd7",
      "tree": "b5d63720e80f89bedb4e72b3001f367657da6e14",
      "parents": [
        "4f906f8898de498220ab26e59b6bea2169249ad0",
        "5272e68cde1bf97e9644e18e12a3cb54700c4dba"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Nov 01 23:24:56 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 01 23:24:56 2018 +0000"
      },
      "message": "Merge \"Allow apps to construct AudioPresentation object\""
    },
    {
      "commit": "a7d023057241b887341360ef5c4125826d716430",
      "tree": "43feeb1b1c5fb2b0099d4fac01b76bdbe6b37f8c",
      "parents": [
        "e42fbe4606eaec8f753e4853ea1130734b8da21b"
      ],
      "author": {
        "name": "Hall Liu",
        "email": "hallliu@google.com",
        "time": "Wed Oct 31 17:03:34 2018 -0700"
      },
      "committer": {
        "name": "Hall Liu",
        "email": "hallliu@google.com",
        "time": "Wed Oct 31 17:05:07 2018 -0700"
      },
      "message": "Add TestApi to get RTT support status\n\nAdd a TestApi for CTS to be able to tell whether a device supports RTT\non the current carrier.\n\nBug: 113069001\nTest: manual\nChange-Id: I135338b7b83f888d454d09dddd30c72197fe0533\n"
    },
    {
      "commit": "5272e68cde1bf97e9644e18e12a3cb54700c4dba",
      "tree": "f0383099b8af655b09f52cb4f58f14cc9e9bcfc1",
      "parents": [
        "469b9d6a84c515773e137999ece7db34fff5174b"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Mon Oct 08 14:38:53 2018 -0700"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Tue Oct 30 16:52:01 2018 -0700"
      },
      "message": "Allow apps to construct AudioPresentation object\n\nAdded a Builder class to gather necessary parameters\nfor creating an AudioPresentation object.\n\nUnhidden two getters--getPresentationId/getProgramId to keep API\nsymmetry.\n\nBug: 63901775\nTest: android.media.cts.AudioPresentationTest\n      android.media.cts.AudioTrackTest#testSetPresentationDefaultTrack\nChange-Id: I5f4878973fcfd5e79494d2f530776f096713ac5f\n"
    },
    {
      "commit": "27beee50d3fd7392d7b116de9bc145ab332b48db",
      "tree": "65c767e8ca0368ea1ea92fa8d30311022113ba5b",
      "parents": [
        "5a51e004b18c3e9794ee39746fe4229c0f1feca7"
      ],
      "author": {
        "name": "Phil Weaver",
        "email": "pweaver@google.com",
        "time": "Tue Oct 09 15:01:49 2018 -0700"
      },
      "committer": {
        "name": "Phil Weaver",
        "email": "pweaver@google.com",
        "time": "Tue Oct 30 10:10:41 2018 -0700"
      },
      "message": "Make performAccessibilityShortcut a SystemAPI\n\nAlso create a new MANAGE_ACCESSIBILITY permission to\nperform the shortcut.\n\nBug: 116118615\nTest: make, activate accessibility shortcut\nChange-Id: Ic65a0cdf7393429e14cb98f4fb0734d20069b05a\n"
    },
    {
      "commit": "26f79f9c4f5059734159f71e2e848ee845c7351b",
      "tree": "932768640c8dc149d1c7b2ec2b4242c802e657b8",
      "parents": [
        "68585439aaa41be3275a35de29e84e8ccb2fc062",
        "b6bd93d960676a407ef04cb58a15e9b3b187a42e"
      ],
      "author": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Fri Oct 26 22:51:54 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 26 22:51:54 2018 +0000"
      },
      "message": "Merge \"Add APIs for notification app overlays\""
    },
    {
      "commit": "0b9ebf1d4427d0406d4fd145ffcbf3a5b9b8a1d5",
      "tree": "3ad56d121d96298ba49f2498816070bfab497755",
      "parents": [
        "1be1fa0be0bde1c5d4ccaf78c1601ce262a13310",
        "19c6fd5ab1df71cb8f70642458f3568c97f503dc"
      ],
      "author": {
        "name": "Hall Liu",
        "email": "hallliu@google.com",
        "time": "Thu Oct 25 19:39:19 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Oct 25 19:39:19 2018 -0700"
      },
      "message": "Merge \"Add test API to override carrier config\" am: a82f952fe7 am: 657e2a925d\nam: 19c6fd5ab1\n\nChange-Id: Ie243b230d3f6d8aca5c292ee497d9e4dc060aec0\n"
    },
    {
      "commit": "b6bd93d960676a407ef04cb58a15e9b3b187a42e",
      "tree": "13fa1306a70c260e7d0789ecc8df90c6c93122a2",
      "parents": [
        "2a7854adddd652c7488a78fe93e2419b4e023854"
      ],
      "author": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Wed Oct 24 09:22:38 2018 -0400"
      },
      "committer": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Thu Oct 25 14:17:02 2018 -0400"
      },
      "message": "Add APIs for notification app overlays\n\n- Can be enabled/disabled at channel and channel group levels\n- An activity to launch can be added to notification\n\nTest: atest, cts\nBug: 111236845\nChange-Id: I9a4832211676cca4649d1f28e6e3e3157954d268\n"
    },
    {
      "commit": "e5b1fda883a4dbe43e44b5ff948754c9bb69278b",
      "tree": "53205811a366a55cee5f0ae09f80227afb4a2bd9",
      "parents": [
        "0af8c5c73c423ed76c132a46d624cd64af999ab8"
      ],
      "author": {
        "name": "Hall Liu",
        "email": "hallliu@google.com",
        "time": "Mon Oct 22 18:17:44 2018 -0700"
      },
      "committer": {
        "name": "Hall Liu",
        "email": "hallliu@google.com",
        "time": "Tue Oct 23 13:14:36 2018 -0700"
      },
      "message": "Add test API to override carrier config\n\nAdd API surface and AIDL to enable override functionality for CTS\n\nChange-Id: I55328a75f16fe91280530dd348d4a034694be6e9\nFixes: 118184943\nTest: manually call api through shell cmd\n"
    },
    {
      "commit": "4bc4fe6252ec4a1526ad3ab9c12287ace7bd44c3",
      "tree": "15fba2f4bfcafb140ad65f844cee5b71ae19a9b8",
      "parents": [
        "4763647b27879a34f3e5863214d5f3b4df5966c9",
        "ae63875a8f76fe8c0ec444e49ea05066835be96e"
      ],
      "author": {
        "name": "Rhed Jao",
        "email": "rhedjao@google.com",
        "time": "Thu Oct 11 04:37:56 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 11 04:37:56 2018 +0000"
      },
      "message": "Merge \"Accessibility: Improve TouchDelegate Accessibility\""
    },
    {
      "commit": "ae63875a8f76fe8c0ec444e49ea05066835be96e",
      "tree": "e486ae7d5d08eed038005e0661c8f0811ce24908",
      "parents": [
        "e1825ba92f45367716b6c81cb7bd9e1f2cb498d1"
      ],
      "author": {
        "name": "Rhed Jao",
        "email": "rhedjao@google.com",
        "time": "Tue Sep 18 19:40:13 2018 +0800"
      },
      "committer": {
        "name": "Rhed Jao",
        "email": "rhedjao@google.com",
        "time": "Tue Oct 09 16:44:42 2018 +0800"
      },
      "message": "Accessibility: Improve TouchDelegate Accessibility\n\nAdding api to get touch delegate behavior for the\nrepresented view of AccessibilityNodeInfo.\n\nBug: 80061718\nTest: atest AccessibilityNodeInfoTest\nTest: atest AccessibilityEndToEndTest\nChange-Id: I2ae65d7d44fceaf16609e512c3384f766266ecbd\n"
    },
    {
      "commit": "10efed0b49e5ae7a302c2cba37aae1982732d072",
      "tree": "eda1a3bcb3e171ed9bc67c847bcb2109f2d6409f",
      "parents": [
        "ce10f9b15f3acf3543ce21d443cf03033232bb7f",
        "9351985f7accbe36e3dc66818f2c5b47b5457ff6"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Oct 06 20:14:06 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Oct 06 20:14:06 2018 +0000"
      },
      "message": "Merge \"Remove SMS access for apps other than current SMS handler\""
    },
    {
      "commit": "9351985f7accbe36e3dc66818f2c5b47b5457ff6",
      "tree": "21b0934d17d04c3edfdaa651a0b963ed6dd50159",
      "parents": [
        "3bc4ab482b21faf76ae1fc8201970e2eab32ad8f"
      ],
      "author": {
        "name": "Eugene Susla",
        "email": "eugenesusla@google.com",
        "time": "Wed Jun 13 16:44:31 2018 -0700"
      },
      "committer": {
        "name": "Hai Zhang",
        "email": "zhanghai@google.com",
        "time": "Fri Oct 05 16:51:13 2018 -0700"
      },
      "message": "Remove SMS access for apps other than current SMS handler\n\nBug: 110098858\nTest: atest android.telephony.cts.SmsManagerTest#testContentProviderAccessRestrictions\nChange-Id: I9da992565b04ca5fa2656801fd2cfe4b196ef9b4\n"
    },
    {
      "commit": "f768ba4f7a471260f576b061406b834ff8b410b5",
      "tree": "4647c067db2e1c1531ea41430e730c3d738b5ee5",
      "parents": [
        "bbd22043e0911ea7d4223be8ca7d00b25c309ed8",
        "0554b19010f5229a227161f62c79526c6a101d93"
      ],
      "author": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Tue Oct 02 17:15:39 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 02 17:15:39 2018 +0000"
      },
      "message": "Merge \"Revert \"Add RawContacts insert/update/delete notification URIs.\"\""
    },
    {
      "commit": "0554b19010f5229a227161f62c79526c6a101d93",
      "tree": "01d423dda9ac256a5176a506c6201b5636f89d94",
      "parents": [
        "ff88b14e621a3acae5e687a7aef53d27f4f5770e"
      ],
      "author": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Mon Oct 01 18:50:08 2018 +0000"
      },
      "committer": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Mon Oct 01 18:50:08 2018 +0000"
      },
      "message": "Revert \"Add RawContacts insert/update/delete notification URIs.\"\n\nThis reverts commit ff88b14e621a3acae5e687a7aef53d27f4f5770e.\n\nReason for revert: API Council push back\n\nBug: 113696451\nBug: 116798156\nChange-Id: I328d981b96d44e37c58625b48334891baf9a8487\n"
    },
    {
      "commit": "a80bbab54c8cc02729508f6c7b1d51a0eabb331f",
      "tree": "ec23f559c51b8f82c9a7fd4de71fe33c4ba1c2eb",
      "parents": [
        "960165c0d786c08eaacb3427b33753623754207b"
      ],
      "author": {
        "name": "Salvador Martinez",
        "email": "dehboxturtle@google.com",
        "time": "Mon Sep 24 10:36:11 2018 -0700"
      },
      "committer": {
        "name": "Salvador Martinez",
        "email": "dehboxturtle@google.com",
        "time": "Fri Sep 28 14:25:25 2018 -0700"
      },
      "message": "Add new POWER_SAVER permission \u0026 update api\n\nThis CL adds a new privileged permission called POWER_SAVER that\nwill allow whitelisted packages to toggle battery saver on the\ndevice. This can be done via PowerManager, where the API for\nsetting battery saver has been updated to accept calls from apps\nwith either DEVICE_POWER or the POWER_SAVER permission.\nAdditionally, we whitelist Turbo for the permission.\n\nTest: Framework builds, Turbo can toggle EBS\nBug: 115524274\nChange-Id: I49d9747b2d42f792a2f3ba90a15aa23c47e489b3\n"
    },
    {
      "commit": "abdaf5b51f798a4d9a1bae7b515df6ae40c2d591",
      "tree": "4bd5da1f89860ad571d1b1a4b8f07e09087560e9",
      "parents": [
        "2bfca321cc832f44498a47313b54909903f08f94",
        "210a4862f64c8374b2c04bfc2d12473ad52c5e66"
      ],
      "author": {
        "name": "Hall Liu",
        "email": "hallliu@google.com",
        "time": "Tue Sep 25 15:02:39 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Sep 25 15:02:39 2018 -0700"
      },
      "message": "Merge \"Add the EMBMS group call API\" am: 52a8fdb7bd am: 6c6c859c6a\nam: 210a4862f6\n\nChange-Id: I3e7f4f0feb7b675a5870b9367fe788f58246d6fa\n"
    },
    {
      "commit": "a7b0c1f0546e97dbe6c93df133df95e6cd9394cb",
      "tree": "84c1522354e15784a7c562dbb4d0e85cdeb57c49",
      "parents": [
        "69c973b33f261a8f75dd0cb72ebd425d63609a56"
      ],
      "author": {
        "name": "Hall Liu",
        "email": "hallliu@google.com",
        "time": "Thu Apr 19 17:57:58 2018 -0700"
      },
      "committer": {
        "name": "Hall Liu",
        "email": "hallliu@google.com",
        "time": "Mon Sep 24 17:26:25 2018 -0700"
      },
      "message": "Add the EMBMS group call API\n\nAdd APIs for apps to access a LTE broadcast group call service provided\nby a preinstalled middleware app, and add system APIs for the\npreinstalled middleware app to communicate with frontend apps.\n\nBug: 112731375\nTest: CTS\nChange-Id: Ie6817cbc6c3b69de7a4d66c4cfc103b02e15ad6b\n"
    },
    {
      "commit": "ff88b14e621a3acae5e687a7aef53d27f4f5770e",
      "tree": "2f4695490579651496f1af0ae9370ea89c5ba7be",
      "parents": [
        "c95add6ddc8902e6b5b30afccae1b16aa0f06a18"
      ],
      "author": {
        "name": "Hui Yu",
        "email": "huiyu@google.com",
        "time": "Wed Sep 19 11:40:07 2018 -0700"
      },
      "committer": {
        "name": "Hui Yu",
        "email": "huiyu@google.com",
        "time": "Thu Sep 20 15:16:14 2018 -0700"
      },
      "message": "Add RawContacts insert/update/delete notification URIs.\n\nChange-Id: I985377b23c1f54f3b691b4ca9094cd55a056201d\nFix: 113696451\nTest: atest ContactsContract_RawContactsTest.java\n"
    },
    {
      "commit": "e0339a6f6e4d9dc23c1da749d4f2c854850aeca6",
      "tree": "5687346a07a3e5573829bed6bbd5cdadd662800b",
      "parents": [
        "9a68b06f23356da1028bd09cc6524fe17774a8f0",
        "ec5f7d16253496258f04a16038b2e578532750a7"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@google.com",
        "time": "Thu Sep 13 20:08:57 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 13 20:08:57 2018 +0000"
      },
      "message": "Merge \"Support more createPackageContextAsUser() users.\""
    },
    {
      "commit": "3f6039393e350d3600baeda03b359b173934c4df",
      "tree": "334eb67814f4a0af35e3d8872bd8101963dd7483",
      "parents": [
        "41a58b5c3051b04da994ec176587e76a7026ba82",
        "8d38b29ba7b39b4380da569c9d6116fc1d162c97"
      ],
      "author": {
        "name": "Michael Wachenschwanz",
        "email": "mwachens@google.com",
        "time": "Thu Sep 13 02:02:19 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 13 02:02:19 2018 +0000"
      },
      "message": "Merge \"Intial ProtoInputStream checkin\""
    },
    {
      "commit": "8d38b29ba7b39b4380da569c9d6116fc1d162c97",
      "tree": "e3bfedd3ab7ad011d4a5ccb7f0a94cad048a8388",
      "parents": [
        "db3e20f17fe6dc38a56a56fa5d8d16850d2822ba"
      ],
      "author": {
        "name": "Michael Wachenschwanz",
        "email": "mwachens@google.com",
        "time": "Sat Aug 04 00:25:43 2018 -0700"
      },
      "committer": {
        "name": "Michael Wachenschwanz",
        "email": "mwachens@google.com",
        "time": "Wed Sep 12 18:54:19 2018 -0700"
      },
      "message": "Intial ProtoInputStream checkin\n\nEnable proto reading on the Android Framework with a memory efficient\npull parser.\n\nFixes: 112269636\nTest: atest CtsProtoTestCases\nChange-Id: If8331edb1ec393acd724ffb5d27d6efad1a42a80\n"
    },
    {
      "commit": "ec5f7d16253496258f04a16038b2e578532750a7",
      "tree": "0572947f8a02ebe034a83dd60283cd951b85cbfd",
      "parents": [
        "f0ed77694f333be8581d7a00cdfd0a5129b536de"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Aug 08 09:15:04 2018 -0600"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Sep 12 14:02:11 2018 -0600"
      },
      "message": "Support more createPackageContextAsUser() users.\n\nWe created this API to make it easy to pass a given UserHandle into\nall Managers obtained from a given Context, which works great for\n\"normal\" users, but we should also support special users like ALL\nand CURRENT.\n\nAlso add an AutoCloseable marker to make try-with-resources easier.\n\nBug: 112153259\nTest: atest android.content.cts.ContextTest\nChange-Id: I261dfcc5cfdfc76bda5d70181785e11c2715a558\n"
    },
    {
      "commit": "1dfc2c7188fab90dfd0ee8eacd65936326ec5e63",
      "tree": "c544689e590e5d9ad2ca2d8b393804f490aa418f",
      "parents": [
        "0b5cc136981b2af94843300ca3b3a4ecae4a0dda",
        "beeaf5589d4fbd92038f1a6cd3aa4941cf884841"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Aug 31 09:03:30 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 31 09:03:30 2018 +0000"
      },
      "message": "Merge \"[Magnifier-48] Allow on-the-fly zoom update\""
    },
    {
      "commit": "b6a2cfbd7546000e9fcf97cc6c348f8ddd1b1809",
      "tree": "7e8bc7acd64f58dd9712e91260b7eebe8b5763d3",
      "parents": [
        "c64b4c628909b7373a9cdaa7159905ca773049f9",
        "c2e0bee9ea8596a181259df90a4d52dffeb5cb62"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Aug 30 13:36:51 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 30 13:36:51 2018 +0000"
      },
      "message": "Merge \"[Magnifier-47] Expose magnifier properties\""
    },
    {
      "commit": "beeaf5589d4fbd92038f1a6cd3aa4941cf884841",
      "tree": "6fe2b5873f10c7265ebbb2bb9cc10d73242dcf09",
      "parents": [
        "c2e0bee9ea8596a181259df90a4d52dffeb5cb62"
      ],
      "author": {
        "name": "Mihai Popa",
        "email": "popam@google.com",
        "time": "Thu Jul 19 15:50:43 2018 +0100"
      },
      "committer": {
        "name": "Mihai Popa",
        "email": "popam@google.com",
        "time": "Wed Aug 29 11:16:26 2018 +0100"
      },
      "message": "[Magnifier-48] Allow on-the-fly zoom update\n\nThe CL adds Magnifier#setZoom(float), which allows dynamically changing\nthe initial zoom applied to the content that will be magnified and\ndisplayed in the magnifier.\n\nBug: 72211470\nTest: manual testing\nTest: atest CtsWidgetTestCases:android.widget.cts.MagnifierTest\nChange-Id: I1dd01085ef5a1589a3602aefd03223d1451564f5\n"
    },
    {
      "commit": "c2e0bee9ea8596a181259df90a4d52dffeb5cb62",
      "tree": "73af19e5b5713e2e740e2e9d56666345c59dd3e9",
      "parents": [
        "469aba83bb02404d6ed0577b1e56a563d7074ff9"
      ],
      "author": {
        "name": "Mihai Popa",
        "email": "popam@google.com",
        "time": "Thu Jul 19 12:18:30 2018 +0100"
      },
      "committer": {
        "name": "Mihai Popa",
        "email": "popam@google.com",
        "time": "Wed Aug 29 11:16:26 2018 +0100"
      },
      "message": "[Magnifier-47] Expose magnifier properties\n\nThe CL adds public getters around magnifier properties. The properties\nmostly correspond to the ones that can be specified using the magnifier\nbuilder class.\n\nBug: 72211470\nTest: atest CtsWidgetTestCases:android.widget.cts.MagnifierTest\nChange-Id: I84c827bed039cb46b19c2dfb5123bd2d97374eca\n"
    },
    {
      "commit": "eb932592ad4f20c98d1f56a89e42d493da3adf63",
      "tree": "5e90baba1ad6113955e98d2401352a72d5fc2228",
      "parents": [
        "bfbdd1c0b912e3c2df027e4030931e1e2c070270"
      ],
      "author": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Mon Aug 27 12:14:05 2018 -0700"
      },
      "committer": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Mon Aug 27 12:14:05 2018 -0700"
      },
      "message": "Add test API for sqlite CTS\n\nTest: CtsDatabaseTestCases\nBug: 112777941\nBug: 111939259\nChange-Id: Ibd394aa801ddfbb383acb9ae73c2029b47965f83\n"
    },
    {
      "commit": "be85ed60a8c64e6d02f4c4befae202e7b42de6b0",
      "tree": "b199507abcb25713534c7929f85ec84d3822ceab",
      "parents": [
        "0f3a3ac1f89cf77f4de7356cbbc2312fef8492e9"
      ],
      "author": {
        "name": "Sudheer Shanka",
        "email": "sudheersai@google.com",
        "time": "Mon Aug 13 13:10:50 2018 -0700"
      },
      "committer": {
        "name": "Sudheer Shanka",
        "email": "sudheersai@google.com",
        "time": "Thu Aug 23 15:02:11 2018 -0700"
      },
      "message": "Add @TestApi to ActivityManager.IMPORTANCE_CANT_SAVE_STATE_PRE_26.\n\nFixes: 112329019\nTest: cts-tradefed run singleCommand cts-dev -m CtsAppTestCases -t \\\n      android.app.cts.ActivityManagerProcessStateTest\nChange-Id: I1c6f1dd9503cde5b11e9d2c3c02841771b665660\n"
    },
    {
      "commit": "3f4d546525651b43c3d1352059ee2966727b0806",
      "tree": "1d41f870bbc2719c935cbdac9d1d2e99319a6cf1",
      "parents": [
        "4a18070180e995170580b310aad63524dc4c8f96"
      ],
      "author": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Wed Aug 22 23:34:45 2018 +0100"
      },
      "committer": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Wed Aug 22 23:41:02 2018 +0100"
      },
      "message": "Revert the DISMISSAL_NOT_DISMISSED to previous value.\n\nThis is existing API and can\u0027t be changed.\n\nBug: 113071843\nTest: make update-api\nChange-Id: Ib6b1002f29ba35d7a2ca8c26cac61344dae9f43f\n"
    },
    {
      "commit": "78567088a85008825009df4d9b858e7e070e0a6d",
      "tree": "27e55f78002a493ec3850754dc35dd0a574438e8",
      "parents": [
        "ec0d236e765ee1381e9712a5217f883e83d3b4cd"
      ],
      "author": {
        "name": "Aurimas Liutikas",
        "email": "aurimas@google.com",
        "time": "Wed Aug 22 13:06:53 2018 -0700"
      },
      "committer": {
        "name": "Aurimas Liutikas",
        "email": "aurimas@google.com",
        "time": "Wed Aug 22 13:12:34 2018 -0700"
      },
      "message": "Run update-api to catch up missing api changes.\n\nBug: 113054005\nTest: make update-api\nChange-Id: I96897492f4c98d34132d74b55b953c66e3680971\n"
    },
    {
      "commit": "37f837222e3d882bc66cb20ef920f0f722b0f4a6",
      "tree": "24aaf2c2952d92bc0b4719842f35a57e3b2edcb4",
      "parents": [
        "93a2daf1c00286a206564a17af087688a39c0af1"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Thu Aug 16 13:12:03 2018 -0700"
      },
      "committer": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Mon Aug 20 14:22:33 2018 -0700"
      },
      "message": "New Autofill Save UI API to switch visibility of views.\n\nTest: atest \\\n      OnClickActionTest VisibilitySetterActionTest CustomDescriptionUnitTest\n\nFixes: 112709898\n\nChange-Id: I05d59ecbdd21d68e9056adeb361e5a9bdd3d2a43\n"
    },
    {
      "commit": "b2484fa0704e2d127f14b9abe95da1e77356ae59",
      "tree": "0cec3ba4d650c3f3e3ef06ccb61a91b8d84be9f8",
      "parents": [
        "3c1a3a41b7425da90ef74d84b43d4660dedf9b62",
        "793e056aa1f6f28843fec57e4cee1771fbf9a38f"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Aug 20 13:30:18 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 20 13:30:18 2018 +0000"
      },
      "message": "Merge \"Add TestApi for CtsActivityManagerDeviceTestCases.\""
    },
    {
      "commit": "6a82990b5f36e3a7e3651ac70a42a6a0bb1e278d",
      "tree": "9985ff4e3da72cb441a2d50c67ada9a428dfbff8",
      "parents": [
        "0f7d0f4e94615d46e7468e7d41dd20f77cdb9a80"
      ],
      "author": {
        "name": "Fyodor Kupolov",
        "email": "fkupolov@google.com",
        "time": "Fri Apr 06 14:48:05 2018 -0700"
      },
      "committer": {
        "name": "Nan Zhang",
        "email": "nanzhang@google.com",
        "time": "Fri Aug 17 16:32:17 2018 +0000"
      },
      "message": "Make SQLiteDebug @TestApi\n\nOtherwise, Metalava based android_test_current.jar doesn\u0027t contain\nSQLiteDebug.class which caused build failure on:\nout/target/common/obj/APPS/CtsDatabaseTestCases_intermediates/classes-full-debug.jar\n\nTest: CtsDatabaseTestCases\nBug: 77543575\nChange-Id: Ied9948e962fb7a81e56be0360cb94b0c318ad14d\nMerged-In: Ied9948e962fb7a81e56be0360cb94b0c318ad14d\n(cherry-picked from 6fe565e441e16ed42c0e6357464f9484631421ab)\nExempt-From-Owner-Approval: Cherry-picked a CL from git_master, and owner just agreed to use Exempt-From tag.\n"
    },
    {
      "commit": "735dd9adaf03505cb07ab94aa6750d62dc5e4d48",
      "tree": "0eb995772df4db26212f8e42eee57261c1d129a7",
      "parents": [
        "9d5aed353f523e6f547b99c9a2d13be98ddd7608",
        "80e4e18b8c93728cdb51f491d569a7bb06aea058"
      ],
      "author": {
        "name": "Aurimas Liutikas",
        "email": "aurimas@google.com",
        "time": "Tue Aug 14 20:52:57 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 14 20:52:57 2018 +0000"
      },
      "message": "Merge \"Add @TestApi annotation to a few @hide APIs that were used in CTS.\""
    },
    {
      "commit": "901bf28b5f7a87b0a3ae6b75787e226b1e4554df",
      "tree": "01756bb25b152ed1c2ae11d959506e9476f054d5",
      "parents": [
        "43b08a273324b9260b054a2c7b40404d2261a34c"
      ],
      "author": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Tue Aug 14 10:09:36 2018 -0400"
      },
      "committer": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Tue Aug 14 20:45:25 2018 +0000"
      },
      "message": "The quietening part 2: rules\n\nApply some rules about what notifications are automatically\nsilenced.\n\nTest: make ExtServicesUnitTests \u0026\u0026\nadb install -r $OUT/testcases/ExtServicesUnitTests/ExtServicesUnitTests.apk \u0026\u0026\nadb shell am instrument -w android.ext.services.tests.unit/android.support.test.runner.AndroidJUnitRunner\nBug: 111475013\n\nChange-Id: Idf0434c0688b3249a9fc2d5aa655665e71e53249\n"
    },
    {
      "commit": "80e4e18b8c93728cdb51f491d569a7bb06aea058",
      "tree": "16dd3c4c7c6ade974d61ebe67a233ee6534882db",
      "parents": [
        "d42decc7af77743a1101407aef0370ff85e1b643"
      ],
      "author": {
        "name": "Aurimas Liutikas",
        "email": "aurimas@google.com",
        "time": "Mon Aug 13 16:13:37 2018 -0700"
      },
      "committer": {
        "name": "Aurimas Liutikas",
        "email": "aurimas@google.com",
        "time": "Mon Aug 13 16:13:37 2018 -0700"
      },
      "message": "Add @TestApi annotation to a few @hide APIs that were used in CTS.\n\nCtsViewTestCases tests were using @hide APIs. This change makes some\nof these APIs @TestApi, so CtsViewTestCases can just link againts test_current.\n\nTest: make -j\nBug: 37778825\nChange-Id: I685ab5f0d1d5fcb5557ce4d93fe4f55cc695ed3d\n"
    },
    {
      "commit": "efcdff452864b810172967b144632331bd1d35a9",
      "tree": "b0865211737ce26514e1993b6ef1b1dc08c7bc79",
      "parents": [
        "bb040710f284fe9a8952a338cb54febccc270b58"
      ],
      "author": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Thu Aug 09 09:42:56 2018 -0400"
      },
      "committer": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Fri Aug 10 15:47:54 2018 -0400"
      },
      "message": "The quietening round 2 part 1\n\nAllow the notification assistant to block or silence\nincoming notifications, or demote notifications after they\nare posted\n\nAlso temporarily silence everything by default\n\nPlus: bonus refactoring of the cancel notification runnable so I could\nwrite just one of those tests :)\n\nBug: 111475013\nTest: manual, runtest systemui-notification\nChange-Id: Ifa04a21919f60d06080cd63e7d7747180b641308\n"
    },
    {
      "commit": "a23c70a4027ba91ee651220afcd0009cb86f0e7f",
      "tree": "af1a7713e6f74c9a6d60c65746fc4626ec4c81ad",
      "parents": [
        "9257722c5c091bf8c98a343401f0ff27e50fe29f"
      ],
      "author": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Thu Aug 09 17:34:18 2018 -0700"
      },
      "committer": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Thu Aug 09 17:39:53 2018 -0700"
      },
      "message": "Update current.txt to fix inconsistencies\n\nA couple minor signature changes seem to have\nbeen missed, causing cruft to appear in API\nchanges by others. This is a little cleanup\nto ensure that API updates are clean in\ncurrent.txt\n\nBug: 112441667\nTest: compilation\nChange-Id: I1d24ec53d180eb6451fef6d76cd22f1956bd7f7d\n"
    },
    {
      "commit": "3de75f42da78d9a4bc8bab2f1d088b8ce51747ad",
      "tree": "02c02c6f630720cfc8fbfdd9cf174a7241e5f303",
      "parents": [
        "d8906d8a1673f676f0c92ee89c5f627bf7131630",
        "07fe5664c59b6d83e73597db747c6305909414f5"
      ],
      "author": {
        "name": "Ralph Nathan",
        "email": "ralphnathan@google.com",
        "time": "Wed Aug 08 21:20:37 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Aug 08 21:20:37 2018 -0700"
      },
      "message": "Merge \"Mark BluetoothClass#getClassOfDevice as TestApi\" am: d5eff002eb am: 045247ec3a am: b9edd4fbc4\nam: 07fe5664c5\n\nChange-Id: I79e8943ff3ec4791b40eebdf991e71a0935e377b\n"
    },
    {
      "commit": "d5eff002eb7358342381321d67e988ed6088eba8",
      "tree": "259b9343f5abd27f6f10751034f75d6f9f2b6917",
      "parents": [
        "460b05ebeecf51e11b087da9c2c714a3a70da8af",
        "29335fdc9ba4d97d8784248ebad3579df56bf4ab"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Aug 09 00:58:44 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Aug 09 00:58:44 2018 +0000"
      },
      "message": "Merge \"Mark BluetoothClass#getClassOfDevice as TestApi\""
    },
    {
      "commit": "793e056aa1f6f28843fec57e4cee1771fbf9a38f",
      "tree": "76aeec1612371c177eeab7befc920423c3f8be5a",
      "parents": [
        "3caa540453fcba9308822f324c22872bbd0aa747"
      ],
      "author": {
        "name": "lumark",
        "email": "lumark@google.com",
        "time": "Mon Jul 09 22:14:33 2018 +0800"
      },
      "committer": {
        "name": "lumark",
        "email": "lumark@google.com",
        "time": "Wed Aug 08 15:14:15 2018 +0800"
      },
      "message": "Add TestApi for CtsActivityManagerDeviceTestCases.\n\n1) Use @TestApis for verify AM related functions to replace using command.\n2) Remove \"development\" protection level for some @TestApis permissions.\n\nBug: 77988683\nBug: 80415658\nTest: atest CtsActivityManagerDeviceTestCases\nChange-Id: I4bb10b45a2269c9e871f38f219d3e92cb45eeb9d\n"
    },
    {
      "commit": "29335fdc9ba4d97d8784248ebad3579df56bf4ab",
      "tree": "642fac4f0f3370ceec3247c2381793a87117e619",
      "parents": [
        "88994b26cc11b96ef0568a22941093ad845b6561"
      ],
      "author": {
        "name": "Ralph Nathan",
        "email": "ralphnathan@google.com",
        "time": "Mon Jul 23 09:35:18 2018 -0700"
      },
      "committer": {
        "name": "Ralph Nathan",
        "email": "ralphnathan@google.com",
        "time": "Mon Aug 06 15:21:30 2018 -0700"
      },
      "message": "Mark BluetoothClass#getClassOfDevice as TestApi\n\nThis method is being used the Android Things instrumentation test apk.\n\nBug: 111654175\nTest: tests pass\nChange-Id: Id3fcd2d89789868e50048542fd1dfe25d9986103\n"
    },
    {
      "commit": "a8f9c8af7e7333c2f17e05be937f01ddae1f5781",
      "tree": "3dc4de47365ff157c3e362b370ce28fd985dfb5e",
      "parents": [
        "971cac75f73018d927831df12eedb61eb57ba8da",
        "a761d2b35480687f5a37c65fc27a5a12f8c569ac"
      ],
      "author": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Thu Aug 02 23:15:20 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 02 23:15:20 2018 +0000"
      },
      "message": "Merge \"Rework slow-query log\""
    },
    {
      "commit": "a761d2b35480687f5a37c65fc27a5a12f8c569ac",
      "tree": "bcffebc17699f315d2e650fef8277391b3b9c18c",
      "parents": [
        "f15bbe2e8d7752fe07cec1d81d7af49ba399aa9e"
      ],
      "author": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Wed Aug 01 15:57:45 2018 -0700"
      },
      "committer": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Thu Aug 02 20:33:19 2018 +0000"
      },
      "message": "Rework slow-query log\n\n- Allow per-uid slow query log with \"db.log.slow_query_threshold.UID\"\n- Add db.log.bindargs to enable bind args log in slow query log\n (debuggable build only)\n\nBug: 111210683\nTest: setprop db.log.slow_query_threshold 0 -\u003e slow query log enabled for all processes\nTest: setprop db.log.slow_query_threshold.ACORE-UID 0 -\u003e slow query log enabled for acore\nTest: setprop db.log.bindargs 1  + setprop db.log.slow_query_threshold.ACORE-UID 0 + kill acore -\u003e\n  Bind args also logged\n\nChange-Id: I3e85479e0c946308837b827f856016bc4fbe1ea3\n"
    },
    {
      "commit": "c4f2ec7b3a731ddbc0415ca8d56dbcd0be85291e",
      "tree": "c7305b399d30ff23e91f617e47df3d05d58a4e78",
      "parents": [
        "e87edb1810fe47c77c966da680a976b916aa8413",
        "c9acf67886d27e040bcb1bd3e665ab8a4351ae07"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Aug 02 13:03:48 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 02 13:03:48 2018 +0000"
      },
      "message": "Merge \"Allow NotificationAssistantService to suggest smart replies\""
    },
    {
      "commit": "c9acf67886d27e040bcb1bd3e665ab8a4351ae07",
      "tree": "8e8220db059818dbb1716bed8e4d0a6a5fb05632",
      "parents": [
        "9a64ba2602677e1ec3e0edc94e754d393983362e"
      ],
      "author": {
        "name": "Tony Mak",
        "email": "tonymak@google.com",
        "time": "Fri Jul 20 13:58:24 2018 +0200"
      },
      "committer": {
        "name": "Tony Mak",
        "email": "tonymak@google.com",
        "time": "Thu Aug 02 11:39:35 2018 +0100"
      },
      "message": "Allow NotificationAssistantService to suggest smart replies\n\nIf the apps has provided their own choices, they will be used, as opposed\nto the \"smart replies\" from NAS.\nOtherwise, smart replies will be applied to the notifications\nwith a freeform RemoteInput but without choices.\n\nThe smart reply model is not ready yet, so canned response is hardcoded\nand it is disabled by default. To test it out, run\nadb shell setprop persist.sys.smart_replies_experiment true\nAlso, to get rid of the target \u003e\u003d P SDK requirement, you may want to run:\nadb shell settings put global smart_replies_in_notifications_flags enabled\u003dtrue,max_squeeze_remeasure_attempts\u003d3,requires_targeting_p\u003dfalse\n\nTest: atest SystemUITests\nTest: atest frameworks/base/services/tests/uiservicestests/src/com/android/server/notification/NotificationListenerServiceTest.java\nTest:\n1. adb shell setprop persist.sys.smart_replies_experiment true\n2. adb shell settings put global smart_replies_in_notifications_flags enabled\u003dtrue,max_squeeze_remeasure_attempts\u003d3,requires_targeting_p\u003dfalse\n3. Send a message to myself, observe the hardcoded smart replies.\n\nBug: 111674540\n\nChange-Id: Ia61a77faef7c4dcba0501abfec80e3e8cc7274e4\n"
    },
    {
      "commit": "9ab32f874086cf826cb6ecd1e3cae89b53ffb966",
      "tree": "8859cc5cb878ec52f743ca8bde4bdb0ad3b2d908",
      "parents": [
        "ce419f134232419cfefcc437d9380a263c14dfb1"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Jul 26 11:02:53 2018 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Jul 27 09:32:08 2018 -0700"
      },
      "message": "Add a frame commit callback test API\n\nBug: 111719753\nTest: CtsUiRenderingTestCases\nChange-Id: Ie08d49b735f5a42a2f06e9049547a2287ecce575\n"
    },
    {
      "commit": "6c644e620d541e52d3f4e32fddc689aa5e5350e6",
      "tree": "fa932fbf9d77fd0c721a775d6aa776184568ccdf",
      "parents": [
        "148cd8c0bced9bcd72beb2e93a086fde9dcfef9e"
      ],
      "author": {
        "name": "Philip P. Moltmann",
        "email": "moltmann@google.com",
        "time": "Wed Jul 18 15:41:24 2018 -0700"
      },
      "committer": {
        "name": "Philip P. Moltmann",
        "email": "moltmann@google.com",
        "time": "Tue Jul 24 11:45:34 2018 -0700"
      },
      "message": "Always review permissions before \u003cM app is started the first time\n\nThis splits the\n- review permissions\n- individually control permissions\n- consent to manage wireleess (wifi + bluetooth)\nproperties.\n\nAlmost all code cares only for the first and it is now always true.\nHence a lot of code can be simplified.\n\nBug: 110431654\nTest: atest PermissionsHostTest\n      started pre-M app\nChange-Id: I733cd476ccd0bf5eaa59e9a9506db34f57c6baee\n"
    },
    {
      "commit": "dad5ef0d5081b6422724debaf9d0b9406dd05883",
      "tree": "5b8fa96a8cd2aa5eaf932584fccfd9d94b527091",
      "parents": [
        "f61f66d0b21a6eba1239cbd8998defcaf999785b",
        "628cb9368c316e3ad1ce478915511f05195eba8e"
      ],
      "author": {
        "name": "Tony Mak",
        "email": "tonymak@google.com",
        "time": "Wed Jul 11 17:32:39 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 11 17:32:39 2018 +0000"
      },
      "message": "Merge \"Allow NotificationAssistantService to suggest smart actions\""
    },
    {
      "commit": "628cb9368c316e3ad1ce478915511f05195eba8e",
      "tree": "fe1128a15bfbaf6b0bf2236bff4087176396c3fc",
      "parents": [
        "ce77407144346c6fad679a4297910eea07d0d601"
      ],
      "author": {
        "name": "Tony Mak",
        "email": "tonymak@google.com",
        "time": "Tue Jun 19 18:30:41 2018 +0100"
      },
      "committer": {
        "name": "Tony Mak",
        "email": "tonymak@google.com",
        "time": "Wed Jul 11 11:12:29 2018 +0100"
      },
      "message": "Allow NotificationAssistantService to suggest smart actions\n\nHere is the flow:\nNAS generates Adjustment -\u003e NMS convert this to RankingUpdate -\u003e\nSystemUI.NotificationListener receives the RankingUpdate in either\nonNotificationPosted / onNotificationRankingUpdate (Depend on does NAS\nprovides the adjustment before the notification is en-queued) -\u003e\nNotificationEntryManager determines the need of reinflation -\u003e\nNotificationInflater inflates / reinflates the view with these\nextra bits like smart actions.\n\nNote: We do re-inflation here as simply adding a button to the existing\nnotification view seems problematic. For example, if the original\nnotification does not have any action, we will need to inflate the\ntemplate with the action container.\n\nScreenshot:\nhttps://hsv.googleplex.com/5731489463402496\n\nTest: atest SystemUITests\nTest: atest com.android.server.notification.NotificationAdjustmentExtractorTest\nTest: Modify ExtServices to provide adjustment in\n      createEnqueuedNotificationAdjustment, post a notification with\n      a entity in a sample app, observed the notification is updated.\n      (Testing the onNotificationPosted flow)\nTest: Modify ExtServices to provide adjustment in onNotificationPosted\n      by calling adjustNotification. Post a notification with\n      a entity in a sample app, observed the notification is updated.\n      (Testing the onRankingUpdated flow)\nTest: Repeat the above test, but explicitly make the RowInflaterTask\n      slow by inserting Thread.sleep. This can test the onRankingUpdated\n      flow when the row is not yet inflated.\n\nBUG: 110527159\n\nChange-Id: I98aee3ac62f60b189ea92ac9fc000127325dfead\n"
    },
    {
      "commit": "9a8e27a915037ec9f1034f7e7294cf7c68054a7d",
      "tree": "f21c294eed3ed8e4de1b2f19dc6d6d71f05a4a49",
      "parents": [
        "17ab018fdd0fcfec5e93841124763003bbbd01b5",
        "d873ae62c443dc3381fca328dcf5b73c157daf03"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jul 04 03:00:14 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 04 03:00:14 2018 +0000"
      },
      "message": "Merge \"Allow UiAutomation to adopt the shell permission indentity\""
    },
    {
      "commit": "d873ae62c443dc3381fca328dcf5b73c157daf03",
      "tree": "abbeb50380e346db85b199fba04ee3f8cc9691c6",
      "parents": [
        "e3d3ca75dc12dda14a7e8c9c4b65b89318eae484"
      ],
      "author": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon Jun 25 16:39:23 2018 -0700"
      },
      "committer": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Tue Jul 03 16:39:44 2018 -0700"
      },
      "message": "Allow UiAutomation to adopt the shell permission indentity\n\nFor testing we often need to run shell commands. This can be done\ntoday via running a shell command from an instrumentation test\nstarted from the shell. However, this requires adding shell commands\nwhich are not in the API contract, involve boilerplate code, require\nstring parsing, etc.\n\nThis change allows an instrumentation started from the shell to\nadopt the shell UID permission state. As a result one can call APIs\nprotected by permissions normal apps cannot get by are granted to\nthe shell. This enables adding dedicated test APIs protected by\nsignatures permissions  granted to the shell.\n\nTest: cts-tradefed run cts-dev -m CtsUiAutomationTestCases\n          -t android.app.uiautomation.cts.UiAutomationTest#testAdoptShellPermissions\n\nbug:80415658\n\nChange-Id: I4bfd4b475225125512abf80ea98cd8fcacb6a1be\n"
    },
    {
      "commit": "c609116a1b9fabc010d4b1985e2241b22cd790ee",
      "tree": "62387e8bb92a7316893131ecf1e9ef0fc6723a5a",
      "parents": [
        "af5753836912a1c76ac35071b8343a6d00782d9e"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Jun 29 17:15:40 2018 -0600"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Jun 29 17:15:44 2018 -0600"
      },
      "message": "Get android.os tests running against real APIs.\n\nCombination of moving to existing public API, tagging things as\n@TestApi, and bringing utility methods into tests.\n\nBug: 13282254\nTest: atest cts/tests/tests/os/\nChange-Id: Ifd24c0d048d200e8595e194890cc1dc53ddc2b3e\n"
    },
    {
      "commit": "1241652d8a47d54514d43b6f4326822fcfcd62d3",
      "tree": "2e8917a65ba94053fad1545b1ee5ea08e503a42d",
      "parents": [
        "c5101b304469bd6d8e7bac5fb72d88f994758082",
        "37b99ba2e466275709113a77c05d86ba093d33cc"
      ],
      "author": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Fri Jun 29 03:13:25 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 29 03:13:25 2018 +0000"
      },
      "message": "Merge \"Ensure PiP test apis are marked as TestApi\""
    },
    {
      "commit": "37b99ba2e466275709113a77c05d86ba093d33cc",
      "tree": "4a8a431ceed292b3669e4c5557da3245f124a591",
      "parents": [
        "a402e4136de487f84fce865baad3d795ad72ab05"
      ],
      "author": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Thu Jun 28 15:42:06 2018 -0700"
      },
      "committer": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Thu Jun 28 15:42:06 2018 -0700"
      },
      "message": "Ensure PiP test apis are marked as TestApi\n\nBug: 77533294\nTest: atest CtsAndroidAppTestCases:PictureInPictureParamsBuilderTest\nChange-Id: Icbcea8cf9d7e49db7ebcc1ce676b43722f75b7f4\n"
    },
    {
      "commit": "3ac2a434554214baed22e30867ec1bdfc64c7b03",
      "tree": "4919dea7bbb7998a67aee5dedc2dabb77300797f",
      "parents": [
        "c59a5e7e0b01364f30bab0a134f77539c31163dc"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Jun 26 10:52:48 2018 -0600"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Jun 26 14:12:14 2018 -0600"
      },
      "message": "Give StrictMode more bits to work with.\n\nWe\u0027re almost out of bits, and we don\u0027t really need to smash both\nthread and VM policy into the same 32-bit value, so use the lower\n16-bits for each policy type and the upper 16-bits for penalty.\n\nActivityManager is only consulting the penalty bits, so we can\nremove getViolationBit() and switch CTS over to doing instanceof\nchecks.\n\nBug: 110413274\nTest: atest cts/tests/tests/os/src/android/os/cts/StrictModeTest.java\nChange-Id: I760e6a28f56da66dc75b7df9daf2167ff5bdff50\n"
    },
    {
      "commit": "c59a5e7e0b01364f30bab0a134f77539c31163dc",
      "tree": "fcef6161ba0a4aa8d9920fe58eec3e9d1a919e1a",
      "parents": [
        "cb5064e541d25361e379ba2069a743f42cd5cf1c"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Jun 21 19:14:58 2018 -0600"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Jun 26 13:20:37 2018 -0600"
      },
      "message": "StrictMode to catch implicit Direct Boot matching.\n\nWhen an app starts becoming Direct Boot aware, it can be difficult\nto track down all the places they\u0027re implicitly relying on\nPackageManager filtering behavior.\n\nFor example, if the current Launcher isn\u0027t Direct Boot aware, we\nhide it until the user is unlocked, which could confuse other Direct\nBoot aware apps into thinking it had been uninstalled, which could\ncause data loss.\n\nThis change helps apps track down places where they\u0027re implicitly\nrelying on the automatic filtering; they should instead carefully\nchoose a combination of MATCH_DIRECT_BOOT flags to decide on the\nexplicit matching behavior they want.\n\nTo implement this, we partially migrate the updateFlags() methods\nout into ApplicationPackageManager, since the checking needs to\nhappen on the client side to correctly report StrictMode\nviolations.  We don\u0027t currently mutate the flags, but we retain\nthe naming to keep that door open in the future.\n\nTest: manual\nBug: 110413274\nChange-Id: Iff6feba19da81ea1b4eeb3af821c3bdfbd9bf17c\n"
    },
    {
      "commit": "849c351337307dacf1138bc59367af70684a176d",
      "tree": "c13e9abcd8173e3f654ce396366264495f65c579",
      "parents": [
        "1b18b392069748066362b327e0cd76402bfebc07",
        "5afde76fbec49eedc5e8ce15e57e69c5515b1132"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jun 22 23:49:02 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 22 23:49:02 2018 +0000"
      },
      "message": "Merge \"Make setPrivacy not a hidden api\""
    },
    {
      "commit": "5afde76fbec49eedc5e8ce15e57e69c5515b1132",
      "tree": "f434c0a97ce75beac1b4f53d225832a39e59d887",
      "parents": [
        "2ab2eca7906762c5a1b0e6b6cd15101e30c5cfc5"
      ],
      "author": {
        "name": "Yi Jin",
        "email": "jinyithu@google.com",
        "time": "Fri Jun 15 17:25:32 2018 -0700"
      },
      "committer": {
        "name": "Yi Jin",
        "email": "jinyithu@google.com",
        "time": "Fri Jun 22 21:07:41 2018 +0000"
      },
      "message": "Make setPrivacy not a hidden api\n\nBug: 110710413\nTest: N/A\nChange-Id: Iae8dda7f2295e3080c042398516838d84bd5d5be\n"
    },
    {
      "commit": "4a6dff091141e40df747f37203fb0fc17e16a39a",
      "tree": "8ce4bbaa12a4da0db887033ee74e65b722915718",
      "parents": [
        "fdc40f52d89769709c264a0c8f081ffc0ca8c87b"
      ],
      "author": {
        "name": "Philip P. Moltmann",
        "email": "moltmann@google.com",
        "time": "Tue Jun 12 16:23:54 2018 -0700"
      },
      "committer": {
        "name": "Philip P. Moltmann",
        "email": "moltmann@google.com",
        "time": "Tue Jun 19 12:23:55 2018 -0700"
      },
      "message": "Allow permissions to have background permissions\n\nSome permissions are getting split into foreground and background\nvariants. If an app only has the foreground version it can only access\nthe protected resource while the user is using it. Once the background\npermission is added to the foreground permission the app can always\naccess the resource protected by the permission.\n\n- Only having the background permission does grant anything.\n- Mutliple foreground permission can share a single background permission,\n  but a foreground permission can not have multiple background\n  permissions.\n- As the implementation of background permissions is based on AppOps\n  only the system can declare such foreground/background permissions\n- A CTS test enforce that the background is in the same group as the\n  matching foreground permission.\n\nBug: 78788390\nTest: Checked declared permission after boot and found new attributes\nChange-Id: Ica7ba77b24345607c7467c41c982a58c39199024\n"
    },
    {
      "commit": "1c4cc2d182d46361268c7c58a88e24a91804029e",
      "tree": "cd6f60144a2f4683d04e9b376aa74d24c944e51e",
      "parents": [
        "e448504530bc0eb514157a94f4ed1a1bca5b9801",
        "f0c322a9db76d6170af0d99fb230a2855c789a1a"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jun 14 23:42:46 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 14 23:42:46 2018 +0000"
      },
      "message": "Merge \"Expose new AppOps API that we had to leave hidden in P.\""
    },
    {
      "commit": "f0c322a9db76d6170af0d99fb230a2855c789a1a",
      "tree": "971aa5210092711367ed806703607f06c5652d89",
      "parents": [
        "b961e6608b9da58a596af7d1c9e0762b66c4dd42"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jun 13 15:24:04 2018 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jun 14 11:44:38 2018 -0700"
      },
      "message": "Expose new AppOps API that we had to leave hidden in P.\n\nNow\u0027s the time!\n\nTest: manual\nBug: 109754053\nChange-Id: I06c9428b5a133be574061410b4bb7d9c589c1b7c\n"
    },
    {
      "commit": "65ebd955e1b19a0d3c995e66d1d749bae5dc8575",
      "tree": "8c6b2b82d06e0290816a8de36fc08db8e42b5c83",
      "parents": [
        "3193b1537c9b31b8345cfb98ea7fc1d7d3ee0ac2"
      ],
      "author": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Wed Apr 25 15:41:44 2018 -0700"
      },
      "committer": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Wed Jun 06 18:26:21 2018 -0700"
      },
      "message": "Split interfaces and service for activities from current AM interfaces (1/n)\n\nFirst step in unifying the window hierarchy that is currently split\nwithin AM and WM packages. We separate the interfaces and service dealing\nwith activities and their containers (tasks, stack, display) from the\nrest of AM interfaces and services. This will allow us to move the new\ninterfaces and services to WM when the internal states are cleaned-up.\n\nTest: Existing tests pass\nTest: go/wm-smoke-auto\nBug: 80414790\nChange-Id: Ide9b3f89123b768cdbd3e3878113c7a8021187f3\n"
    },
    {
      "commit": "b04a511ac41ebef78b7260427968eb7ddba945e5",
      "tree": "8db0c0e2e84380aab633ea589e5595ea8b486346",
      "parents": [
        "49d8108599b2243953a3dd7783059808faf70165"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon May 14 13:49:07 2018 -0600"
      },
      "committer": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Wed Jun 06 08:25:36 2018 +0000"
      },
      "message": "Let tests enumerate all transports/capabilities.\n\nThis gives them a way to collect all included values without\nresorting to manual probing of each newly added value.\n\nCherry-pick of ag/4052941 with minor conflicts in the imports.\n\nBug: 16207332\nTest: atest com.android.cts.net.HostsideVpnTests\nChange-Id: Ia764b3412bf834890612378e0c3846913f4e0a06\nMerged-In: Ie5cd22cfa2b6a60510fd1e31d7ebcd8f6cc890a0\nMerged-In: If07e77c92046807235229a4f67ee087bdd7bccf1\n"
    },
    {
      "commit": "6bbc61e725b432498b509f3643467415184fe2e2",
      "tree": "47ba4855298395018d302d11c2941e75e34d0638",
      "parents": [
        "62786b4431c07cc7de4f1cd30610afcb99a35178",
        "e2304c2ed4cefd3a455e3b2335f6d05668cf3411"
      ],
      "author": {
        "name": "Hongming Jin",
        "email": "hongmingjin@google.com",
        "time": "Fri Jun 01 10:48:38 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jun 01 10:48:38 2018 -0700"
      },
      "message": "Merge \"Enforce permission check before returning application info Test: atest CtsAppSecurityHostTestCases:ApplicationVisibilityTest Bug: 77821568\" into pi-dev am: dbc6052022\nam: e2304c2ed4\n\nChange-Id: I4a9f0c4fae6dc286fd671c007e3ff39ac357282f\n"
    },
    {
      "commit": "83e162615f022f897d451db914becd6825a69b88",
      "tree": "2ccc5271d2efea5d5b1aa66866fad4fde9491d9c",
      "parents": [
        "a798833075476fdb23b83d7cebddf0722bb0af22"
      ],
      "author": {
        "name": "Hongming Jin",
        "email": "hongmingjin@google.com",
        "time": "Fri May 18 10:47:57 2018 -0700"
      },
      "committer": {
        "name": "Hongming Jin",
        "email": "hongmingjin@google.com",
        "time": "Thu May 31 17:20:14 2018 -0700"
      },
      "message": "Enforce permission check before returning application info\nTest: atest CtsAppSecurityHostTestCases:ApplicationVisibilityTest\nBug: 77821568\n\nChange-Id: I7554805c36c0c2552163dad7b07cfc5f552b624e\n"
    },
    {
      "commit": "efb4b1b5096bc7d144a68ec897fe19c48b244d15",
      "tree": "4a161a45fdfb09dccdb13125a4dc1bc7d1e3cf89",
      "parents": [
        "9fcd59d67cb4aa18e244baa338fd845674736cc3",
        "87fbe89e5dd5b6dece1d5b80c67e9f3a432547d5"
      ],
      "author": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Thu May 31 17:04:34 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu May 31 17:04:34 2018 -0700"
      },
      "message": "Merge \"Ensure permission held for MATCH_KNOWN_PACKAGES\" into pi-dev am: 2f898c4df5\nam: 87fbe89e5d\n\nChange-Id: Id80937d84f4e1b28673b1e6b6ee6c4741b01efb0\n"
    },
    {
      "commit": "ef9acb6ed97ececa4c8554adb693ec948a963db1",
      "tree": "88965c52e964c34056ba99735d7f2a66577c45fc",
      "parents": [
        "e3348a25935099838a917cf4556c4dccc714e0ef"
      ],
      "author": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Tue May 29 15:18:06 2018 -0700"
      },
      "committer": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Wed May 30 13:56:17 2018 -0700"
      },
      "message": "Ensure permission held for MATCH_KNOWN_PACKAGES\n\nThere\u0027s an escape clause that passes the cross user permissions\nif the caller UID is identical to the target user ID [eg. we\u0027re not\noperating across users]. However, the method getInstalledPackagesList()\nuses android.permission.INTERACT_ACROSS_USERS to filter the results and\na calling UID check is not sufficient. Ensuure the permission is\nactually held, regardless of the calling UID or target user.\n\nChange-Id: Iebf88668766d387a15246d6eea6420610665105a\nFixes: 80435086\nTest: atest CtsAppSecurityHostTestCases:ApplicationVisibilityTest\n"
    },
    {
      "commit": "56034a4f59e2f7f8e8d4be9ebce380d0e50a1b68",
      "tree": "181ab7649fbf1bd0eb83a6c9fcf47d8dffa2ff4e",
      "parents": [
        "59eaddaf0515ebbcea9bd3ba73da7e17a0b1a832",
        "9f6c8feb6fb72b8ba40783a201e841797d2e9cf9"
      ],
      "author": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Fri May 25 19:57:10 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri May 25 19:57:10 2018 -0700"
      },
      "message": "Merge \"Added TestApi to ActivityInfo.isTranslucentOrFloating\" into pi-dev am: 9d19487b1c\nam: 9f6c8feb6f\n\nChange-Id: Ia6008e05fe7a7b369be2d9a84bcedc94d74c5334\n"
    },
    {
      "commit": "378f1f49721c79b4c354e046fe4ade25f5dd7f54",
      "tree": "9e0cace7325d19b249c74b82fc115ab9a496bc54",
      "parents": [
        "f98f8a4c6c70ed459d04874796c5c0744100c8e8"
      ],
      "author": {
        "name": "Hall Liu",
        "email": "hallliu@google.com",
        "time": "Fri May 11 17:14:08 2018 -0700"
      },
      "committer": {
        "name": "Hall Liu",
        "email": "hallliu@google.com",
        "time": "Fri May 25 15:22:16 2018 -0700"
      },
      "message": "Add CallAudioState ctor as TestApi\n\nNeeded for CTS testing\n\nBug: 79528185\nTest: CTS\nChange-Id: Iad154257a93cc776d5800527e46e777fd6c88220\nMerged-In: Iad154257a93cc776d5800527e46e777fd6c88220\n"
    },
    {
      "commit": "30eab1f43074590fb08dd48de0bf786561622eff",
      "tree": "1b63fa117e612846174d3b40989d993c8bbc8ed4",
      "parents": [
        "478923bded903aa2e9e0357a61141053df20f590"
      ],
      "author": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Thu May 24 18:25:25 2018 -0700"
      },
      "committer": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Fri May 25 10:24:14 2018 -0700"
      },
      "message": "Added TestApi to ActivityInfo.isTranslucentOrFloating\n\nThis would be use to determine the right activity state during CTS\ntest for products that have windowSwipeToDismiss set.\n\nAlso, dump ActivityRecord.fullscreen to proto for the same reason.\n\nBug: 76207986\nBug: 79167358\nTest: atest CtsActivityManagerDeviceTestCases:ActivityLifecycleTests\nTest: atest CtsActivityManagerDeviceTestCases:ActivityManagerAssistantStackTests\nChange-Id: Iadc088e9129be088b8a083ebbafd8d20fe26b673\n"
    },
    {
      "commit": "d6f175d727efda7235ed81ec3867746ef99c5cbb",
      "tree": "3f8b6ff5030f94d4b6c4833c5a10ab45907c9faf",
      "parents": [
        "24dd30d848f3e93584ebec6d1302a5271be96f06",
        "de1f904713e00045ad545ecb0ad51d83f9ca0e42"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed May 23 16:55:32 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 23 16:55:32 2018 +0000"
      },
      "message": "Merge \"Allow keycode lookup without KEYCODE_ prefix\""
    },
    {
      "commit": "de1f904713e00045ad545ecb0ad51d83f9ca0e42",
      "tree": "e7c1f59d895e3ad3599a7456fb52675c155f1fc8",
      "parents": [
        "dfe3c2206966fcfc18c5b4b3601fd2915869a0f0"
      ],
      "author": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Wed May 09 09:54:43 2018 -0700"
      },
      "committer": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Tue May 22 07:23:34 2018 -0700"
      },
      "message": "Allow keycode lookup without KEYCODE_ prefix\n\nCurrently, KeyEvent.keyCodeFromString(String name) requires the string\nto either start with \"KEYCODE_\", or be directly convertible to an int.\nHowever, the string representation of every keycode starts with\n\"KEYCODE_\", so this requirement is redundant. Relax this requirement to\nalllow both of the following usages:\n1) keyCodeFromString(\"KEYCODE_BUTTON_A\")\n2) keyCodeFromString(\"BUTTON_A\")\n\nCurrently, only 1) is supported.\n\nThe other usage,\n3) keyCodeFromString(\"29\")\nis unchanged.\n\nThe input is no longer case-sensitive.\nImproved the example of usage in the documentation: the input\n\"1001\" suggests that the string must contain binary representation for\nusage 3), while in fact it is supposed to be a base 10 number.\n\nTest: atest cts.KeyEventTest#testKeyCodeFromString\nBug: 36069459\n\nChange-Id: I54d7f9d1270748854143cc9d1e8af48c9ec0cd0f\n"
    },
    {
      "commit": "085ef7dcb049bf672aff9ea0c5136e5a52475035",
      "tree": "53a333d55a458465bb234f053b9fc14c801e13cc",
      "parents": [
        "3c43220ac28126ce35aca84f62cfe2ca7cda3fe7",
        "573a696f8fca35985cb7aa27484d22944c3d8d47"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon May 21 13:11:12 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon May 21 13:11:12 2018 -0700"
      },
      "message": "Merge \"Make RemoteCallback test API\" into pi-dev am: a757fd7827\nam: 573a696f8f\n\nChange-Id: Iab9be37d714d1d1b8eec032d9dabbcd5cb056834\n"
    },
    {
      "commit": "6b03aa76e9b9ced678a499df1ca0c8316aeb5e59",
      "tree": "03f7504f66ad46c8ffca93a5ff76db93beea8da6",
      "parents": [
        "97abc762ccbf2118ded90d6e796d3db1666f3e6b"
      ],
      "author": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Tue May 15 21:39:20 2018 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon May 21 15:55:28 2018 +0000"
      },
      "message": "Make RemoteCallback test API\n\nTest: manual\n\nbug:79782915\n\nChange-Id: I61343573428333c0d4a9ee2523c444753280186c\n"
    },
    {
      "commit": "ca46c6beea7c35c0e39a2dbaa67526e0138bfbd0",
      "tree": "d64100fdbe1944c85ac570470972f8398ee91233",
      "parents": [
        "7e3ac715a371a0017b2c7f028f599093ea285ba4",
        "75299cffecfe175972fbfe80ddb689d27633c209"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@google.com",
        "time": "Tue May 15 08:37:39 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue May 15 08:37:39 2018 -0700"
      },
      "message": "Merge \"Let tests enumerate all transports/capabilities.\" into pi-dev am: 8e6445a1a5\nam: 75299cffec\n\nChange-Id: If07e77c92046807235229a4f67ee087bdd7bccf1\n"
    },
    {
      "commit": "8e6445a1a5e693b8778ba3366b10edad10404002",
      "tree": "0485510b4f6286ea0178bfd53439dce1b3107543",
      "parents": [
        "a66cc0da751791df79ff0058b86286778d90f7fe",
        "a5ee62f356780bb94e3e78e5c45b3a7aedd922b0"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@google.com",
        "time": "Tue May 15 15:17:30 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 15 15:17:30 2018 +0000"
      },
      "message": "Merge \"Let tests enumerate all transports/capabilities.\" into pi-dev"
    },
    {
      "commit": "a5ee62f356780bb94e3e78e5c45b3a7aedd922b0",
      "tree": "ae4a01c27e2e666bbc58b1ff4b5d65f0e089d0b8",
      "parents": [
        "869c6f559ad63e02d699a8e5349cff5069b61129"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon May 14 13:49:07 2018 -0600"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon May 14 17:17:33 2018 -0600"
      },
      "message": "Let tests enumerate all transports/capabilities.\n\nThis gives them a way to collect all included values without\nresorting to manual probing of each newly added value.\n\nBug: 16207332\nTest: atest com.android.cts.net.HostsideVpnTests\nChange-Id: I35ca412512dc8515b44d5518e1ca4caa5bdc678f\n"
    },
    {
      "commit": "f2a443dbac440ea6bbf553e698605e33c62824ac",
      "tree": "d4a5ec468f9fc1531ffa00ae0e8c4a3d2346f4d7",
      "parents": [
        "2b8336f241e4b4e2f7843f5f5f9b984cde258d2b",
        "b5e999f3fd98fb28279b3da19d1755358b58e4b8"
      ],
      "author": {
        "name": "Hall Liu",
        "email": "hallliu@google.com",
        "time": "Mon May 14 14:40:45 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon May 14 14:40:45 2018 -0700"
      },
      "message": "Merge \"Add CallAudioState ctor as TestApi\" into pi-dev am: 785a93f61a\nam: b5e999f3fd\n\nChange-Id: I65395b8dc270ce503271bf7800f6d1ed46a2c9f2\n"
    },
    {
      "commit": "c1d95aad1a030fb72feaf70d03a3535c403e69dd",
      "tree": "26d44f12eb4c2aba890a96d4c89d1481ff1f8a02",
      "parents": [
        "8003f88b8f3f29d8657468c786546c0ce76f5056"
      ],
      "author": {
        "name": "Hall Liu",
        "email": "hallliu@google.com",
        "time": "Fri May 11 17:14:08 2018 -0700"
      },
      "committer": {
        "name": "Hall Liu",
        "email": "hallliu@google.com",
        "time": "Fri May 11 17:14:58 2018 -0700"
      },
      "message": "Add CallAudioState ctor as TestApi\n\nNeeded for CTS testing\n\nBug: 79528185\nTest: CTS\nChange-Id: Iad154257a93cc776d5800527e46e777fd6c88220\n"
    },
    {
      "commit": "46985f328b4ffc60bdc8fe0debed21d9cc940b92",
      "tree": "ecf9055da09cd61d8d582ca89e44f13f3a671e4f",
      "parents": [
        "1515a28eeda9d557b083addd06fbce721f97036b",
        "2457681ec0c12efb3e834bd766715a051efb7ffc"
      ],
      "author": {
        "name": "android-build-team Robot",
        "email": "android-build-team-robot@google.com",
        "time": "Wed May 09 00:19:31 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 09 00:19:31 2018 +0000"
      },
      "message": "Merge \"Provide method to read AppOpsManager._NUM_OP\""
    },
    {
      "commit": "6fe565e441e16ed42c0e6357464f9484631421ab",
      "tree": "1aecd1d2505e6fb9f9f8b507fba2ce3af2982674",
      "parents": [
        "d19291151134fc7104b99fd9e7755c97941881a4"
      ],
      "author": {
        "name": "Fyodor Kupolov",
        "email": "fkupolov@google.com",
        "time": "Fri Apr 06 14:48:05 2018 -0700"
      },
      "committer": {
        "name": "Fyodor Kupolov",
        "email": "fkupolov@google.com",
        "time": "Mon May 07 16:13:08 2018 -0700"
      },
      "message": "Make SQLiteDebug @TestApi\n\nTest: CtsDatabaseTestCases\nBug: 77543575\nChange-Id: Ied9948e962fb7a81e56be0360cb94b0c318ad14d\n"
    },
    {
      "commit": "2457681ec0c12efb3e834bd766715a051efb7ffc",
      "tree": "cb121770f5c16782bbb4fc36da736688e1ee255e",
      "parents": [
        "948c4f53c8d5749ce14677b8c66bcc6388627d05"
      ],
      "author": {
        "name": "Philip P. Moltmann",
        "email": "moltmann@google.com",
        "time": "Mon May 07 10:42:05 2018 -0700"
      },
      "committer": {
        "name": "Philip P. Moltmann",
        "email": "moltmann@google.com",
        "time": "Mon May 07 12:48:36 2018 -0700"
      },
      "message": "Provide method to read AppOpsManager._NUM_OP\n\nSo it can be changed without api breakage.\n\nFixes: 79204487\nTest: atest android.permission.cts.AppOpsTest#testAllOpsHaveOpString\nChange-Id: I7eb6d36e07108879dfd20b0432dd67925842631b\n"
    },
    {
      "commit": "e04f13d9ea329941d164824b24a2f5a5d529771c",
      "tree": "738f05a1acbbf4c43c87e241f982958a22df0bf3",
      "parents": [
        "13f9e36a6975ec93be8444d9fe668e0f76e08647"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed May 02 12:51:52 2018 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu May 03 12:02:32 2018 -0700"
      },
      "message": "Add app op for Bluetooth scans\n\nBug: 78480444\nTest: manual\nChange-Id: I5a88abc8f26e7505ebfbd76137f13f75be6e5ff9\n"
    },
    {
      "commit": "8d7b81e67fc8e470cfcaca144cf1fdd79672346d",
      "tree": "edeca9ce2e514a70a6d69b25d1aa258b34c8e2e1",
      "parents": [
        "ea11c848af3b6205884a4e931326db16c94cfb03",
        "33115156f914d86cb0748a0cb4256d58a520b652"
      ],
      "author": {
        "name": "android-build-team Robot",
        "email": "android-build-team-robot@google.com",
        "time": "Fri Apr 27 18:56:48 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 27 18:56:48 2018 +0000"
      },
      "message": "Merge \"Expose APIs used by CtsPermissionTestCases\""
    },
    {
      "commit": "220b47a10dfc891414168deb7cea0b811ea0a6b3",
      "tree": "28448a359700b124eb41e12b6b9cd17109e53767",
      "parents": [
        "05897ae6e10997e5faceb505379fe1bbb3f7e109",
        "f0c09d6e0cd468af253b8c893bc9851fda5dbe08"
      ],
      "author": {
        "name": "Gil O\u0027Neil",
        "email": "goneil@google.com",
        "time": "Thu Apr 26 16:55:08 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Apr 26 16:55:08 2018 -0700"
      },
      "message": "Merge \"Added test API to refresh the UICC Profile\" into pi-dev am: 3e6ceafbaa\nam: f0c09d6e0c\n\nChange-Id: I66696ad33de00595f10e02f7e29aa33bc4442281\n"
    },
    {
      "commit": "f0c09d6e0cd468af253b8c893bc9851fda5dbe08",
      "tree": "343b805f5ecd230506b4630418694ccfdb465870",
      "parents": [
        "d4a61663d23b4b76d2ada875ddb1bdf4bbf43f00",
        "3e6ceafbaaa9fe8d41ef8f1956892c7622b25cb9"
      ],
      "author": {
        "name": "Gil O\u0027Neil",
        "email": "goneil@google.com",
        "time": "Thu Apr 26 16:36:18 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Apr 26 16:36:18 2018 -0700"
      },
      "message": "Merge \"Added test API to refresh the UICC Profile\" into pi-dev\nam: 3e6ceafbaa\n\nChange-Id: Icde39b92a744653f1fb71165df4dda8362deee8b\n"
    },
    {
      "commit": "33115156f914d86cb0748a0cb4256d58a520b652",
      "tree": "71124b174cf6f686a5d9b0a70a6cffc619b3f0d6",
      "parents": [
        "a34e0b1209fcbfba05f95404154c9532a587a271"
      ],
      "author": {
        "name": "Philip P. Moltmann",
        "email": "moltmann@google.com",
        "time": "Wed Apr 11 13:39:36 2018 -0700"
      },
      "committer": {
        "name": "Philip P. Moltmann",
        "email": "moltmann@google.com",
        "time": "Thu Apr 26 09:40:57 2018 -0700"
      },
      "message": "Expose APIs used by CtsPermissionTestCases\n\nTest: atest CtsPermissionTestCases\nBug: 77604428\nChange-Id: Ib5e9b678e98aab86dac90610ed071eb89f14fce9\n"
    },
    {
      "commit": "f6c6e8efa714173417dcad6ea5c0d92543c4d66a",
      "tree": "fe56d30c72499d0af8185c4ce5f2179d2c0e2f38",
      "parents": [
        "16fb96644273d8779879a28cfd5faa7018dc2843"
      ],
      "author": {
        "name": "goneil",
        "email": "goneil@google.com",
        "time": "Fri Apr 06 15:22:54 2018 -0700"
      },
      "committer": {
        "name": "goneil",
        "email": "goneil@google.com",
        "time": "Wed Apr 25 18:19:42 2018 -0700"
      },
      "message": "Added test API to refresh the UICC Profile\n\nBug: 74016670\nTest: GTS tests - vendor/xts/gts-tests/hostsidetests/simappdialog\nChange-Id: I8f8ffdad8666d523172b035d24b96278d4d1a1ee\n"
    },
    {
      "commit": "6eb25b8e57c4935f8af08b8b9e5979e81e1789b5",
      "tree": "275f7c8334154276112436215b0479eec5d5d34f",
      "parents": [
        "e71e44d3e3bd8d1d700c8318d6e68b5640d17e9f"
      ],
      "author": {
        "name": "goneil",
        "email": "goneil@google.com",
        "time": "Wed Apr 25 14:21:44 2018 -0700"
      },
      "committer": {
        "name": "goneil",
        "email": "goneil@google.com",
        "time": "Wed Apr 25 14:21:44 2018 -0700"
      },
      "message": "Remove duplicate TelephonyManager class in test-current.txt\n\nBug: 78192245\nTest: None\nChange-Id: I8b93a86d1107ee56e662f3315b71a51e7dd62e9f\n"
    },
    {
      "commit": "4c96a5e2cb04f4bdd51627a5efa881d68b7a316e",
      "tree": "44fea3dadf8a6c3144ac9db6ec3493c8f0943112",
      "parents": [
        "98ded07bd54b980a0cc6574266b9bb4f8f6427ee"
      ],
      "author": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Tue Apr 24 17:57:44 2018 -0700"
      },
      "committer": {
        "name": "Siarhei Vishniakou",
        "email": "svv@google.com",
        "time": "Tue Apr 24 18:02:11 2018 -0700"
      },
      "message": "Add @TestApi to KeyEvent.actionToString(..)\n\nCurrently, it is not possible to use KeyEvent.actionToString(..) in a\nCTS test because that API is @hide. However, it would be useful to print\nthese actions when tests fail. Therefore, add the @TestApi annotation.\n\nBug: 77803694 36069459\nTest: m cts-input-lib CtsHardwareTestCases (under development)\nChange-Id: I2d23dbd101cef3f1c6c7a70c521a9dc219797615\n"
    },
    {
      "commit": "4cdf6e58ed13aa14cac6c126b3ca6c94217c6f93",
      "tree": "80dbf9662a39977a1e15d6fd1cba03434ecb22eb",
      "parents": [
        "4c6bb14007de0c364f3667b846bbf41a50e8612d",
        "77c7b732c431711d4e029a0f358f67a371a3817e"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Apr 20 14:07:19 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Apr 20 14:07:19 2018 -0700"
      },
      "message": "Merge \"Give CTS a way to force-poll network stats.\" into pi-dev am: 46e58e1b40\nam: 77c7b732c4\n\nChange-Id: I93be7a46fc345efc31e98975c65a287f2d344220\n"
    },
    {
      "commit": "77c7b732c431711d4e029a0f358f67a371a3817e",
      "tree": "436c27206d90b557b04d6d35af00fa830d5ec160",
      "parents": [
        "a643f89ce1ed97e8e1f75af0233a92b7c5c9c878",
        "46e58e1b4086aa0e3eb62f9cdae0eefaea08943f"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Apr 20 13:51:02 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Apr 20 13:51:02 2018 -0700"
      },
      "message": "Merge \"Give CTS a way to force-poll network stats.\" into pi-dev\nam: 46e58e1b40\n\nChange-Id: Id2252b803a33ddadfef71618b3b9106c93c5be2a\n"
    },
    {
      "commit": "c3c8d16380e3d7a54aa290061c8ea5a127027c46",
      "tree": "cc733db7200384f5e5254c35af4ad9181de3e7b9",
      "parents": [
        "5e12ebfffd813fc7035c9eef60220914dc92482f"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Apr 20 10:59:09 2018 -0600"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Apr 20 12:18:23 2018 -0600"
      },
      "message": "Give CTS a way to force-poll network stats.\n\nCollecting network statistics is pretty heavy, which is why we\u0027re\nthrottling callers.  However, to keep CTS running fast, we provide a\nway for tests to force a poll event, instead of making them wait for\nthe throttle timeout.\n\nBug: 77908520\nTest: atest cts/tests/tests/app.usage/src/android/app/usage/cts/NetworkUsageStatsTest.java\nChange-Id: Ia792f0cd495023366ff8c4839df54e7da2ae8331\n"
    },
    {
      "commit": "e654ca92f4ce182ef01a6711fe7417648b6b443f",
      "tree": "29a6aba651a715c0e353fd0735330b6323c8769e",
      "parents": [
        "9a5f69c33920f5bdd0922aa8e481dcccda5e5510",
        "17ad53b40bf17b9f619c1d95f08d3368e5ff5126"
      ],
      "author": {
        "name": "Dan Gittik",
        "email": "dangittik@google.com",
        "time": "Tue Apr 17 04:02:45 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Apr 17 04:02:45 2018 -0700"
      },
      "message": "Merge \"Fixed power manager CTS test.\" into pi-dev am: 15d35c1274\nam: 17ad53b40b\n\nChange-Id: Ib805670acfae2c9b17afb07e6484906fae71f5ce\n"
    },
    {
      "commit": "17ad53b40bf17b9f619c1d95f08d3368e5ff5126",
      "tree": "98d3cc5833db84f72ef442e2bf636a24a509f227",
      "parents": [
        "1345d5e16b5606ecc0f17dd1141791cbee31a006",
        "15d35c127437539dcb6c8f028d5ea580051f185d"
      ],
      "author": {
        "name": "Dan Gittik",
        "email": "dangittik@google.com",
        "time": "Tue Apr 17 03:50:58 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Apr 17 03:50:58 2018 -0700"
      },
      "message": "Merge \"Fixed power manager CTS test.\" into pi-dev\nam: 15d35c1274\n\nChange-Id: I375d0d77520a707cc76064a93def15faa5f8ddb1\n"
    },
    {
      "commit": "26b030d829adee248752061855737d0981ad6103",
      "tree": "aad472fe0622b655bf02d546a340105951c38e8b",
      "parents": [
        "606440f1422d63474d0cedb827b3f10c01fc04e2"
      ],
      "author": {
        "name": "Dan Gittik",
        "email": "dangittik@google.com",
        "time": "Mon Apr 16 18:50:10 2018 +0100"
      },
      "committer": {
        "name": "Dan Gittik",
        "email": "dangittik@google.com",
        "time": "Mon Apr 16 18:50:10 2018 +0100"
      },
      "message": "Fixed power manager CTS test.\n\nAdded an annotation necessary to allow the power manager CTS test to\naccess the non-public method nap.\n\nTest: adb install -r \\\n      out/host/linux-x86/cts/android-cts/testcases/CtsOsTestCases.apk\n      adb shell am instrument -e class android.os.cts.PowerManagerTest \\\n      -w android.os.cts/android.support.test.runner.AndroidJUnitRunner\n\nChange-Id: Ida939f074654bef351e2b8fd563c8463431ce9c6\nFixes: 77907164\n"
    },
    {
      "commit": "4cf175b4edc7aa8b718a422dc72656d1eea1bcc9",
      "tree": "a6d13408ae5b7148ba9029850016af026b171882",
      "parents": [
        "f1c82fa6cc748a6f170674ba712af63849a1fbdc",
        "ad93f44a3ea2ded93c2dda4c7448c57578bfbe1d"
      ],
      "author": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Fri Apr 13 11:11:05 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Apr 13 11:11:05 2018 -0700"
      },
      "message": "Merge \"Revert \"Fixed power manager CTS test.\"\" into pi-dev am: ca1dcfb23e\nam: ad93f44a3e\n\nChange-Id: I84dc34980d768ee8807c4d9b045a1971dfdbff03\n"
    },
    {
      "commit": "ad93f44a3ea2ded93c2dda4c7448c57578bfbe1d",
      "tree": "7e714c57474006df70f2363c92d19a4706dba910",
      "parents": [
        "32a7b15762739ecf9383d77511ae9d26486a484f",
        "ca1dcfb23e6a02eb4ea6dd8eaff1074086b6bb86"
      ],
      "author": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Fri Apr 13 10:59:47 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Apr 13 10:59:47 2018 -0700"
      },
      "message": "Merge \"Revert \"Fixed power manager CTS test.\"\" into pi-dev\nam: ca1dcfb23e\n\nChange-Id: Ie748557c6940961635cdd929238f1bd2070e8804\n"
    }
  ],
  "next": "b5abef7867b7d846f1f586f232966b56453923f7"
}
