)]}'
{
  "log": [
    {
      "commit": "4a9c854b8795295f9aa97e1966549314fa39287a",
      "tree": "8548a15212d8dbb6b7dd3ff9a71d7d1e0cb61baa",
      "parents": [
        "e75dabc4015b8dbf6f5104fbaae945f12b9d9aa4",
        "80ae48bff3797b8b397ca06a91f527b4b1279477"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Wed Nov 21 14:47:59 2018 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Nov 21 14:47:59 2018 -0800"
      },
      "message": "Merge \"Added OWNERS to Shell and hook to make sure it\u0027s developed on AOSP.\" am: 4384c5c241 am: 2ffd64805c\nam: 80ae48bff3\n\nChange-Id: Id6b08acf70187e3b23ce5323e9ad88f97ff0bb68\n"
    },
    {
      "commit": "80ae48bff3797b8b397ca06a91f527b4b1279477",
      "tree": "6e2c4fd427691ad7f453b0e121f94076321119f6",
      "parents": [
        "66ba8e8dbc45a80e8f42f6e3b507fad9e2c8c773",
        "2ffd64805ccc598b33fcf41745cc6715cd7d87be"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Wed Nov 21 14:37:39 2018 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Nov 21 14:37:39 2018 -0800"
      },
      "message": "Merge \"Added OWNERS to Shell and hook to make sure it\u0027s developed on AOSP.\" am: 4384c5c241\nam: 2ffd64805c\n\nChange-Id: Ida97bc760fb5d26ace3ac1092f05b3b8fa7ede7f\n"
    },
    {
      "commit": "4c192e969014b35b17a99ca9c4b72fa71f9d5539",
      "tree": "ef3c2781b7edd7fa97e0a04e7d5e4d4a87b1ba67",
      "parents": [
        "6c4c8aeb7005928508be0d799e3af0f955348208"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Wed Sep 26 11:07:30 2018 -0700"
      },
      "committer": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Wed Nov 21 13:00:06 2018 -0800"
      },
      "message": "Added OWNERS to Shell and hook to make sure it\u0027s developed on AOSP.\n\nBug: none\nTest: none\n\nChange-Id: I1f6f554cf98c78d1ab8a1e820d485a37238230f5\n"
    },
    {
      "commit": "7e3fb2a4cedb55302ab6870773f4c33bc0b8c579",
      "tree": "0daa41fe90bb7d1be3777fa973fb8d476e9ca0c7",
      "parents": [
        "b96896d614f40a45324070b86d39b8c889657856",
        "816e35e4055faa9f7f6c689a59265a4ebf1b0ad3"
      ],
      "author": {
        "name": "Hai Zhang",
        "email": "zhanghai@google.com",
        "time": "Tue Nov 20 07:40:36 2018 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Nov 20 07:40:36 2018 -0800"
      },
      "message": "Merge \"Add MANAGE_ROLE_HOLDERS permission to shell.\" am: a2ccaf6e68 am: 5837aa482b\nam: 816e35e405\n\nChange-Id: I93034c3105c9f3857be8309a905e432a3c9b2005\n"
    },
    {
      "commit": "816e35e4055faa9f7f6c689a59265a4ebf1b0ad3",
      "tree": "dc80e7c0c82f1b6e37ced9437630d351020547d3",
      "parents": [
        "183271d1d240fb2a92628e00b132b4490461f59f",
        "5837aa482ba9731ad333f7ea502747cd8fd57c0d"
      ],
      "author": {
        "name": "Hai Zhang",
        "email": "zhanghai@google.com",
        "time": "Tue Nov 20 00:09:55 2018 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Nov 20 00:09:55 2018 -0800"
      },
      "message": "Merge \"Add MANAGE_ROLE_HOLDERS permission to shell.\" am: a2ccaf6e68\nam: 5837aa482b\n\nChange-Id: I4ddb49575f423237be4f354bbf37c5bce56fa958\n"
    },
    {
      "commit": "bc0df49ed97c0088b52ab518ad54327815c7c9a7",
      "tree": "0e08bcac477c067d8aac1e6afb5ddf535c5f2745",
      "parents": [
        "26aff41aa5486e83084f28096173819a6fb478b1"
      ],
      "author": {
        "name": "Hai Zhang",
        "email": "zhanghai@google.com",
        "time": "Mon Nov 19 17:27:47 2018 -0800"
      },
      "committer": {
        "name": "Hai Zhang",
        "email": "zhanghai@google.com",
        "time": "Mon Nov 19 17:27:47 2018 -0800"
      },
      "message": "Add MANAGE_ROLE_HOLDERS permission to shell.\n\nThis change adds the MANAGE_ROLE_HOLDERS permission to shell, which\nallows shell or code with Shell permission identity to use privileged\nRoleManager APIs.\n\nBug: 110557011\nTest: build\nChange-Id: I6b8be9eec2a1dfb169536cfcda9d21cb802df327\n"
    },
    {
      "commit": "812ea7554bbe502afb3bf0d59e9d710b32269a63",
      "tree": "efd1d1a9d8589e7053b8b1c8f501926dcbbe4c89",
      "parents": [
        "04b98338f7c9388889da08b091bf77b5654dc144"
      ],
      "author": {
        "name": "Salvador Martinez",
        "email": "dehboxturtle@google.com",
        "time": "Fri Oct 19 13:03:20 2018 -0700"
      },
      "committer": {
        "name": "Salvador Martinez",
        "email": "dehboxturtle@google.com",
        "time": "Tue Nov 13 09:33:50 2018 -0800"
      },
      "message": "Create APIs to interact with DynamicPowerSaver\n\nThis creates the PowerManager APIs that allow apps with the\nappropriate permissions to interact with Dynamic Power Saver.\n\nBug: 111450127\nTest: WIP\nChange-Id: I5b9483fa0fba81a4ade622b1f3dbaec580b68a67\n"
    },
    {
      "commit": "d03d02f58556315f8c0b7902bca51135c9f17154",
      "tree": "f9287c6f5ee1b91e6fcddcc0b31354a4ccead942",
      "parents": [
        "7502c41e8a4bf7cacc7b710e9ef2783ab8a71d32",
        "8947d38c3992a435afe902104bd97c5223b2f5dd"
      ],
      "author": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon Nov 12 13:02:54 2018 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Nov 12 13:02:54 2018 -0800"
      },
      "message": "Merge \"Add owners to the Shell app\" am: bc12083aa7 am: 924f4e352d\nam: 8947d38c39\n\nChange-Id: I7723a2b64d4811bcabbc48c8cbfbe9513a10bd07\n"
    },
    {
      "commit": "8947d38c3992a435afe902104bd97c5223b2f5dd",
      "tree": "4d564da7a3ce848672ad5ebb8aa4163f2989f0bf",
      "parents": [
        "87d67c4f198055ea49bd96994c13d84a75598bed",
        "924f4e352d72f53459e6edd757bd9cc2e16ecf8d"
      ],
      "author": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon Nov 12 12:52:39 2018 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Nov 12 12:52:39 2018 -0800"
      },
      "message": "Merge \"Add owners to the Shell app\" am: bc12083aa7\nam: 924f4e352d\n\nChange-Id: I4ccfecaa7f8b8a2102a5d285ee9848e4fb105a13\n"
    },
    {
      "commit": "2ffbacda3d0a78ac65f527babaed84faf2ba2831",
      "tree": "675ab7d4a7ac794a6b4ed8e73777a4329ce34b7c",
      "parents": [
        "65b79f96cdd38b5495f1097cc5d66537973f00a6"
      ],
      "author": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon Nov 05 08:44:25 2018 -0800"
      },
      "committer": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon Nov 05 17:31:55 2018 -0800"
      },
      "message": "Add owners to the Shell app\n\nThe Shell app has elevated privileges as it is used for development\nand testing behind the USB debugging developer option. This change\nadds owners file to control the changes to the Shell app and more\nspecifically to its manifest file to ensure only sensible singature\nprotection permissions are granted to the shell.\n\nTest: manual\n\nbug:80415658\n\nChange-Id: Ic7a442320f052d3c698ed923f1a953e4bee646eb\n"
    },
    {
      "commit": "ef44016343b57ea97f75cad1591138aeec2e9cce",
      "tree": "c056544d91d2123100a313abf2be2c843770325d",
      "parents": [
        "101f907ddb6b3edc259792a841d8e10c58c0f613"
      ],
      "author": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Wed Oct 31 09:42:39 2018 -0700"
      },
      "committer": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Wed Oct 31 09:42:39 2018 -0700"
      },
      "message": "Import translations. DO NOT MERGE\n\nChange-Id: I595c63f1fe103b3e3fbdaafe7148bd9e99d4638c\nAuto-generated-cl: translation import\n"
    },
    {
      "commit": "783f1d6e50c672ca638d6e7af48c859b52ea03b5",
      "tree": "3f5b4d6436468b45036c8b088876100f1ec74a5c",
      "parents": [
        "bc9ebba7e50ca88bec4a4f68bfe35289ab0acfef",
        "2ca26297c021b0cf2701c63021e2b7410950bc08"
      ],
      "author": {
        "name": "Phil Weaver",
        "email": "pweaver@google.com",
        "time": "Mon Oct 15 14:56:42 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Oct 15 14:56:42 2018 -0700"
      },
      "message": "Merge \"Grant shell permission to manage accessibility\" am: cf092a87c2 am: a28031b7da\nam: 2ca26297c0\n\nChange-Id: I7f641be89ae60d1afe54ffb86611a421ffa3a8d5\n"
    },
    {
      "commit": "2ca26297c021b0cf2701c63021e2b7410950bc08",
      "tree": "6d2670e57ef9b2b85260f0b404ddbbf849a8416b",
      "parents": [
        "03bcf21fafed55bfa02e3ceb9f291586df0d6592",
        "a28031b7dac133c9475967e06d8f141d58152d86"
      ],
      "author": {
        "name": "Phil Weaver",
        "email": "pweaver@google.com",
        "time": "Mon Oct 15 14:33:55 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Oct 15 14:33:55 2018 -0700"
      },
      "message": "Merge \"Grant shell permission to manage accessibility\" am: cf092a87c2\nam: a28031b7da\n\nChange-Id: I690233f012873d333f4ed4931f29e9c27223ab8f\n"
    },
    {
      "commit": "1df928ff2bde7bfaac58b4eb5e867b492cfc3657",
      "tree": "8682c8108adc8a71021e7692eb1655146603e405",
      "parents": [
        "6bd29ab2df5c1be63305f1ffa7b6c7619bd779a2"
      ],
      "author": {
        "name": "Phil Weaver",
        "email": "pweaver@google.com",
        "time": "Fri Oct 12 15:48:34 2018 -0700"
      },
      "committer": {
        "name": "Phil Weaver",
        "email": "pweaver@google.com",
        "time": "Fri Oct 12 15:48:34 2018 -0700"
      },
      "message": "Grant shell permission to manage accessibility\n\nBug: 116118615\nTest: make\nChange-Id: I6caa663a09a9119cd62561ed746cd139025edf44\n"
    },
    {
      "commit": "2c2592052deab388c2d04194cb29b48eb7d83f7b",
      "tree": "ed3ed9644d70dbeffea7124bbe87abc007896d71",
      "parents": [
        "eade02a397a7425928b143aff8e771afc0adfd3c",
        "1112ebf8ac628bc3406cc6846e1c00419c8d0a10"
      ],
      "author": {
        "name": "Michael Groover",
        "email": "mpgroover@google.com",
        "time": "Wed Oct 10 19:30:36 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Oct 10 19:30:36 2018 -0700"
      },
      "message": "Merge \"Add READ_PRIVILEGED_PHONE_STATE to used permissions\" am: 403813782f am: 25131f86fa\nam: 1112ebf8ac\n\nChange-Id: Ib377536490b186d57c59fe70a8e4f1c8403d587c\n"
    },
    {
      "commit": "25131f86fac3fd2614c288a1bb8b4386a35173cc",
      "tree": "d3793a12535f5cdc3e7ec0197ff73f3d6776b471",
      "parents": [
        "ef43636ce405f543f00ea1fc1831571ea336f638",
        "403813782f89f9e4418fca6ef24ae394c1faebb9"
      ],
      "author": {
        "name": "Michael Groover",
        "email": "mpgroover@google.com",
        "time": "Tue Oct 09 16:37:23 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Oct 09 16:37:23 2018 -0700"
      },
      "message": "Merge \"Add READ_PRIVILEGED_PHONE_STATE to used permissions\"\nam: 403813782f\n\nChange-Id: Id778252cc548c20ed05dc59c4a3da85b40cc0b7c\n"
    },
    {
      "commit": "1248e435a0ca9b0ca43559f0aa2c8f2f58ba1d12",
      "tree": "2348914c1d77040b109085ee0dab96bc738c1fae",
      "parents": [
        "61b9b6c9eb7acb7b5f260f43b04d31d17bb59557"
      ],
      "author": {
        "name": "Michael Groover",
        "email": "mpgroover@google.com",
        "time": "Mon Oct 08 09:39:24 2018 -0700"
      },
      "committer": {
        "name": "Michael Groover",
        "email": "mpgroover@google.com",
        "time": "Mon Oct 08 11:29:03 2018 -0700"
      },
      "message": "Add READ_PRIVILEGED_PHONE_STATE to used permissions\n\nBug: 110099294\nTest: cts-tradefed run cts -m CtsTelephonyTestCases -t android.telephony.cts.TelephonyManagerTest\nChange-Id: I13fec3d397c200ce92883883c96c07007e823efe\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": "70509bba06eaec87cc8ddda850ae56b96ea059e0",
      "tree": "7762d14632269faaeb92a5b907df72fae689dc29",
      "parents": [
        "ab618e00b25d12593bcb8d4fd279e4ab78d15a33",
        "7eaa2cbf51890cdf6d6662968053c84012103eca"
      ],
      "author": {
        "name": "Nandana Dutt",
        "email": "nandana@google.com",
        "time": "Wed Oct 03 09:56:53 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Oct 03 09:56:53 2018 -0700"
      },
      "message": "Merge \"Disable the buginfo dialog on AndroidTV\"\nam: 7eaa2cbf51\n\nChange-Id: If32bf9933b2443839391ac7d326778112937de90\n"
    },
    {
      "commit": "7eaa2cbf51890cdf6d6662968053c84012103eca",
      "tree": "c291e152d3ce973c8681e8efd549ba8599a53703",
      "parents": [
        "99c685b0e8800c6f8ec3eb301bfa70eb0674d8ac",
        "86f69db5c08aeb564300542d980f67d2252166ca"
      ],
      "author": {
        "name": "Nandana Dutt",
        "email": "nandana@google.com",
        "time": "Wed Oct 03 15:39:22 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 03 15:39:22 2018 +0000"
      },
      "message": "Merge \"Disable the buginfo dialog on AndroidTV\""
    },
    {
      "commit": "f0f9fab3c8fc95a44e895562986b75dbe92ed7ca",
      "tree": "945f03f93eafe846846eb39c647b9656bd4eb8ab",
      "parents": [
        "09087a83fa69db93da530a113ff397eb7cb7a771",
        "702587e7878c4629c9c3d8800e78e017f71bc6d8"
      ],
      "author": {
        "name": "Nandana Dutt",
        "email": "nandana@google.com",
        "time": "Wed Oct 03 03:14:48 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Oct 03 03:14:48 2018 -0700"
      },
      "message": "Merge \"Warn about sensitive bugreport contents.\"\nam: 702587e787\n\nChange-Id: I4fa68006bf45a0514a153d4373274c12ba10f528\n"
    },
    {
      "commit": "702587e7878c4629c9c3d8800e78e017f71bc6d8",
      "tree": "3abbaf5962ce92c1ec2c987d5c935334dc70aa40",
      "parents": [
        "729ae07a369c5d9c1da018513fa25e4e804d054c",
        "e70a61d56dd91932d1d60e801dc17fc9a99f8fc2"
      ],
      "author": {
        "name": "Nandana Dutt",
        "email": "nandana@google.com",
        "time": "Wed Oct 03 09:51:59 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 03 09:51:59 2018 +0000"
      },
      "message": "Merge \"Warn about sensitive bugreport contents.\""
    },
    {
      "commit": "09087a83fa69db93da530a113ff397eb7cb7a771",
      "tree": "b41f35dbcde400ead49160b63f395f982db43086",
      "parents": [
        "7ebecf2ad470aef22b2b9c0e96b08d194067b5b2",
        "729ae07a369c5d9c1da018513fa25e4e804d054c"
      ],
      "author": {
        "name": "Nandana Dutt",
        "email": "nandana@google.com",
        "time": "Wed Oct 03 02:21:18 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Oct 03 02:21:18 2018 -0700"
      },
      "message": "Merge \"Synchronize access to sNotificationBundle.\"\nam: 729ae07a36\n\nChange-Id: I07b54a6252348d998ea0b695f3817059c63e0364\n"
    },
    {
      "commit": "ed5e51dbb2e23ca43ff91733bad3a68a9d2d0f00",
      "tree": "49ac4fd6f0f28a982cffbf22b15c78ff20825159",
      "parents": [
        "6ef0182f07a5a5b53f46ed4d9921cc115ac77e36"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Fri Sep 21 16:37:53 2018 -0700"
      },
      "committer": {
        "name": "Nandana Dutt",
        "email": "nandana@google.com",
        "time": "Tue Oct 02 11:39:42 2018 +0100"
      },
      "message": "Synchronize access to sNotificationBundle.\n\nOtherwise Shell can crash due to ConcurrentModificationException\n\nTest: atest BugreportReceiverTest\nTest: manual verification\n\nFixes:116280360\n\nChange-Id: I138acd43b313d2a7a9d945fb44a9d63e1ad798eb\nMerged-In: I138acd43b313d2a7a9d945fb44a9d63e1ad798eb\n(cherry picked from commit ee72fa19a97f2b0677a130204e3527bc3233e4d9)\n"
    },
    {
      "commit": "e70a61d56dd91932d1d60e801dc17fc9a99f8fc2",
      "tree": "cb1798d21e271ef642e7eab8fee72cb91091be64",
      "parents": [
        "6ef0182f07a5a5b53f46ed4d9921cc115ac77e36"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Sep 13 11:49:54 2018 -0600"
      },
      "committer": {
        "name": "Nandana Dutt",
        "email": "nandana@google.com",
        "time": "Tue Oct 02 11:34:50 2018 +0100"
      },
      "message": "Warn about sensitive bugreport contents.\n\nWe show this message when clicking a notification, but we also want\nto alert users when they\u0027re picking files to attach/share.\n\nBug: 114711671\nTest: manual\nChange-Id: I23e249c93d6fa9cf960ef2a61d3fe769eb56ddf5\nMerged-In: I23e249c93d6fa9cf960ef2a61d3fe769eb56ddf5\n(cherry picked from commit 59137825eb11e6ca4c53e43a9973983ebdd09b33)\n"
    },
    {
      "commit": "86f69db5c08aeb564300542d980f67d2252166ca",
      "tree": "e855b9bc9e686ffdf1779df0a250833a33c8e037",
      "parents": [
        "6ef0182f07a5a5b53f46ed4d9921cc115ac77e36"
      ],
      "author": {
        "name": "Kristian Monsen",
        "email": "kristianm@google.com",
        "time": "Mon Sep 03 16:06:30 2018 +0200"
      },
      "committer": {
        "name": "Nandana Dutt",
        "email": "nandana@google.com",
        "time": "Tue Oct 02 11:31:27 2018 +0100"
      },
      "message": "Disable the buginfo dialog on AndroidTV\n\nBug: 113033835\nTest: Tested manually on Atom\nChange-Id: If65997e28db7c0100018145f9313549494e41a2a\nMerged-In: If65997e28db7c0100018145f9313549494e41a2a\n(cherry picked from commit cb68d29f03f14b188ccc02b877161173b631685d)\n(cherry picked from commit 01badb78744bc48e35215556a49ac97a17cbce3a)\n"
    },
    {
      "commit": "bd175fe89132d5dbde1bf92d683eea22236c51fb",
      "tree": "208972f534321a439f07dcff60faaf1fa8971102",
      "parents": [
        "1ec3af056e0d993bcb869cf10635d527a692593b"
      ],
      "author": {
        "name": "Chad Brubaker",
        "email": "cbrubaker@google.com",
        "time": "Mon Oct 01 10:38:54 2018 -0700"
      },
      "committer": {
        "name": "Chad Brubaker",
        "email": "cbrubaker@google.com",
        "time": "Mon Oct 01 16:11:20 2018 -0700"
      },
      "message": "Allow Shell to access the clipboard\n\nA lot of CTS tests involve the clipboard and making all of them input\nfocus is somewhat wasteful and invasive, instead we will adopt the\nshell\u0027s permissions when relevant.\n\nTest: atest ClipboardManagerTest\nBug: 6229949\nChange-Id: I10f07e89b0baead625464c2afd5da1e229a45473\n"
    },
    {
      "commit": "ee72fa19a97f2b0677a130204e3527bc3233e4d9",
      "tree": "4275a178f125cbe680b843fe1c4f2399733d10ae",
      "parents": [
        "a60b0e2a380abccda004170b400287db680bb45e"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Fri Sep 21 16:37:53 2018 -0700"
      },
      "committer": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Fri Sep 21 16:40:51 2018 -0700"
      },
      "message": "Synchronize access to sNotificationBundle.\n\nOtherwise Shell can crash due to ConcurrentModificationException\n\nTest: atest BugreportReceiverTest\nTest: manual verification\n\nFixes:116280360\n\nChange-Id: I138acd43b313d2a7a9d945fb44a9d63e1ad798eb\n"
    },
    {
      "commit": "59137825eb11e6ca4c53e43a9973983ebdd09b33",
      "tree": "6bcb6039c2aa41c87f1fc05b8d6800ff086f9e3d",
      "parents": [
        "8068dfe6be63b47ff7022fe49d953fe8e10a069b"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Sep 13 11:49:54 2018 -0600"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Sep 13 11:49:58 2018 -0600"
      },
      "message": "Warn about sensitive bugreport contents.\n\nWe show this message when clicking a notification, but we also want\nto alert users when they\u0027re picking files to attach/share.\n\nBug: 114711671\nTest: manual\nChange-Id: I23e249c93d6fa9cf960ef2a61d3fe769eb56ddf5\n"
    },
    {
      "commit": "01badb78744bc48e35215556a49ac97a17cbce3a",
      "tree": "18c897ce611e01ce3598e1b6266be71f29d2d462",
      "parents": [
        "1f4ee04cd76b58238798f1f37958965ed3750f72"
      ],
      "author": {
        "name": "Kristian Monsen",
        "email": "kristianm@google.com",
        "time": "Mon Sep 03 16:06:30 2018 +0200"
      },
      "committer": {
        "name": "Kristian Monsen",
        "email": "kristianm@google.com",
        "time": "Wed Sep 12 13:42:40 2018 +0200"
      },
      "message": "Disable the buginfo dialog on AndroidTV\n\nBug: 113033835\nTest: Tested manually on Atom\nChange-Id: If65997e28db7c0100018145f9313549494e41a2a\n(cherry picked from commit cb68d29f03f14b188ccc02b877161173b631685d)\n"
    },
    {
      "commit": "ec8d258c608e074a7c1e4ed81a9d38be1b16be7e",
      "tree": "85e176ea3c685a3cb046db4f70a6b60f962e6be3",
      "parents": [
        "b8616dc4d19d5a719ca705d8bd6e96140933a1a0"
      ],
      "author": {
        "name": "KOUSHIK PANUGANTI",
        "email": "kpanuganti@google.com",
        "time": "Mon Apr 23 17:31:10 2018 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Aug 28 14:20:24 2018 -0700"
      },
      "message": "Migrated various apps under frameworks/base/packages/Shell  to androidx\n\nBug: 76692459\nTest: make Shell\nChange-Id: If11159cac1bd5aa61c46a346647b97a661abbf11\nMerged-In: If11159cac1bd5aa61c46a346647b97a661abbf11\n(cherry picked from commit e92135a6e9e3bae6236063d35670f3f7f2f51be4)\n(cherry picked from commit 474df059db94fac9a279e5f90ab0c046de4a3e08)\n(cherry picked from commit e0efaddbebaf9cdabe4253d7f3cfdf87dc9a7446)\n"
    },
    {
      "commit": "e0efaddbebaf9cdabe4253d7f3cfdf87dc9a7446",
      "tree": "cd7062fdb326a2d2f348eeeddd9acd978a16ebed",
      "parents": [
        "a14377a450a7172963ab7ec1b3e47444a3249216"
      ],
      "author": {
        "name": "KOUSHIK PANUGANTI",
        "email": "kpanuganti@google.com",
        "time": "Mon Apr 23 17:31:10 2018 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Aug 28 11:51:32 2018 -0700"
      },
      "message": "Migrated various apps under frameworks/base/packages/Shell  to androidx\n\nBug: 76692459\nTest: make Shell\nChange-Id: If11159cac1bd5aa61c46a346647b97a661abbf11\nMerged-In: If11159cac1bd5aa61c46a346647b97a661abbf11\n(cherry picked from commit e92135a6e9e3bae6236063d35670f3f7f2f51be4)\n(cherry picked from commit 474df059db94fac9a279e5f90ab0c046de4a3e08)\n"
    },
    {
      "commit": "8e915dbc29cb3aa40debf89ff249514b0a95665b",
      "tree": "470ef12ee45811515e73fcc604eb5008f6cd6d4d",
      "parents": [
        "af3c1fbef24600921900f824345e00f901ddb563"
      ],
      "author": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Sat Aug 04 01:57:32 2018 -0700"
      },
      "committer": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Sat Aug 04 01:57:32 2018 -0700"
      },
      "message": "Import translations. DO NOT MERGE\n\nChange-Id: I14c08f6f215dcb6edf1e5ffe62248c0302a9c82d\nAuto-generated-cl: translation import\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": "962bed181f6333344b70ccdb2391b0bd66307b2d",
      "tree": "39c73d1fc06c7030b1a04e83c56e19598b0a9953",
      "parents": [
        "3261b948e5b8898420852349bba03c6bfc8c8fda"
      ],
      "author": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Sun Jul 22 07:20:35 2018 -0700"
      },
      "committer": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Sun Jul 22 07:20:35 2018 -0700"
      },
      "message": "Import translations. DO NOT MERGE\n\nChange-Id: I7fa6de95026c1eb22cf8284b27879371f81e1c3a\nAuto-generated-cl: translation import\n"
    },
    {
      "commit": "349f9a1ce3b7206795769d6fc1038a59fb406b5b",
      "tree": "20e2b0255edf485d528f21641002bc7951590474",
      "parents": [
        "55ce82b1dd1ba337b977d64c8d1a1a0eca13e512"
      ],
      "author": {
        "name": "Suprabh Shukla",
        "email": "suprabh@google.com",
        "time": "Mon Jul 16 13:23:21 2018 -0700"
      },
      "committer": {
        "name": "Suprabh Shukla",
        "email": "suprabh@google.com",
        "time": "Tue Jul 17 14:06:21 2018 -0700"
      },
      "message": "Add SUSPEND_APPS permission to shell\n\nSince this permission protects system apis, this is required for\ninstrumentation tests.\n\nTest: atest com.google.android.suspendapps.gts.SuspendPackagesTest\n\nBug: 79773970\nChange-Id: Ib283018c50cc19c3958bd61e2d19befbf2805cc5\n"
    },
    {
      "commit": "8fb963413f60a361e897ae9e75d13731814675d8",
      "tree": "2dc97ac1832a5c3aef86da089a44f544e6d329d2",
      "parents": [
        "3e2e1ae482d763cb2ec7dfab05adab7f740f5ae3"
      ],
      "author": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Wed Jun 27 02:59:22 2018 -0700"
      },
      "committer": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Wed Jun 27 02:59:22 2018 -0700"
      },
      "message": "Import translations. DO NOT MERGE\n\nChange-Id: Iceb272ffa664416b4eafe5eb32098d02e93a095d\nAuto-generated-cl: translation import\n"
    },
    {
      "commit": "f3b6594370a5d676e35b383fe830247d3696b060",
      "tree": "acbef126ebe28e841aaae430bb7cb2ef328723ea",
      "parents": [
        "aa8802a9d98c5fb9ab818c35a7a4f5533a47fed4"
      ],
      "author": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Fri Jun 01 09:09:44 2018 -0700"
      },
      "committer": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Fri Jun 01 09:09:44 2018 -0700"
      },
      "message": "Import translations. DO NOT MERGE\n\nChange-Id: Ie0df2d2ccd6c07781d332a973e6401092598391a\nAuto-generated-cl: translation import\n"
    },
    {
      "commit": "4aca62556b5baf3a4a369c7c5a265815e187953a",
      "tree": "0ce45f46dc2ea4a7a259acb1db5e6d11e30ebe8c",
      "parents": [
        "7626c86ad75e33c9dfc9062223286a56dec96782",
        "e92135a6e9e3bae6236063d35670f3f7f2f51be4"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed May 23 01:53:23 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 23 01:53:23 2018 +0000"
      },
      "message": "Merge \"Migrated various apps under frameworks/base/packages/Shell  to androidx\""
    },
    {
      "commit": "f9379bef95702fbd8349b816938f2f461d648658",
      "tree": "71ffddc4771acb94a4a309e3ee5d2d5930e22a5c",
      "parents": [
        "3c42171e11dc6d4d8bf77032785a25b777454583"
      ],
      "author": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Fri May 18 09:45:09 2018 -0700"
      },
      "committer": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Fri May 18 09:45:09 2018 -0700"
      },
      "message": "Import translations. DO NOT MERGE\n\nChange-Id: I03dce717e8d00086e912229ac6fc7c40dfa16de2\nAuto-generated-cl: translation import\n"
    },
    {
      "commit": "9a594602c14befa534035d148cdd0d03e6ff592c",
      "tree": "3d80234c844a43bc34f21bbb4140f81cfc1e0ec3",
      "parents": [
        "fd99572d30c90b7ec3e0950a3e0dc059e345329d"
      ],
      "author": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Wed May 02 10:18:42 2018 -0700"
      },
      "committer": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Wed May 02 10:18:42 2018 -0700"
      },
      "message": "Import translations. DO NOT MERGE\n\nChange-Id: Ib8b8e10bc7035fe194fee520776e3aca9fcf2123\nAuto-generated-cl: translation import\n"
    },
    {
      "commit": "e92135a6e9e3bae6236063d35670f3f7f2f51be4",
      "tree": "e9dd6ef9bdedef6b306fe5ea6b7754fe4f9d0d6d",
      "parents": [
        "53370a7894c7fc9d9d6b1ba9a6dd4d2bbe426c32"
      ],
      "author": {
        "name": "KOUSHIK PANUGANTI",
        "email": "kpanuganti@google.com",
        "time": "Mon Apr 23 17:31:10 2018 -0700"
      },
      "committer": {
        "name": "KOUSHIK PANUGANTI",
        "email": "kpanuganti@google.com",
        "time": "Mon Apr 23 17:31:10 2018 -0700"
      },
      "message": "Migrated various apps under frameworks/base/packages/Shell  to androidx\n\nBug: 76692459\nTest: make Shell\nChange-Id: If11159cac1bd5aa61c46a346647b97a661abbf11\n"
    },
    {
      "commit": "e6e0603f8fc33411f78445ab195b62527cde2c1d",
      "tree": "cd42893d163e2c32c89dd57fc18859e6f1fda5c0",
      "parents": [
        "4dec3057d6b13815e68e9af42963f80bc038806b",
        "6614f28da77247e07af60b21cf3d6babbf8987ee"
      ],
      "author": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Mon Apr 23 01:24:45 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Apr 23 01:24:45 2018 -0700"
      },
      "message": "Merge \"Enforce permission when disabling API checks.\" into pi-dev am: 87f521ffe9\nam: 6614f28da7\n\nChange-Id: Iab6854adff71f3a89fc0b937a9be5f791ecab0f5\n"
    },
    {
      "commit": "6614f28da77247e07af60b21cf3d6babbf8987ee",
      "tree": "e2b57b821529b58d055e3bb73a676a61b830809a",
      "parents": [
        "a5fc870335e78e4266b7ee7c41ff7c0878828741",
        "87f521ffe91fb5e728eb358ddddb9b2159ea4be2"
      ],
      "author": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Mon Apr 23 01:16:42 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Apr 23 01:16:42 2018 -0700"
      },
      "message": "Merge \"Enforce permission when disabling API checks.\" into pi-dev\nam: 87f521ffe9\n\nChange-Id: I9b87207cc9e337f1d3b293be7d9982f83381f5e6\n"
    },
    {
      "commit": "b8fc9fbfedd12d0ec4fe579181444120d26e362e",
      "tree": "6ca3b8955bb338363acf71f5c0044f1a23bd0dc4",
      "parents": [
        "d250688c9f4f8f82c2f4a6d58352ad0c4b01dcc6"
      ],
      "author": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Sat Apr 21 00:01:33 2018 -0700"
      },
      "committer": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Sat Apr 21 00:01:33 2018 -0700"
      },
      "message": "Import translations. DO NOT MERGE\n\nChange-Id: If3be4f9f8b73b97e84d30d2135385d152c3dcd2f\nAuto-generated-cl: translation import\n"
    },
    {
      "commit": "5f1f29a97af26ef5e23724a13e52fdc41a212c43",
      "tree": "ce137d349ee31938025341591ac00e8de6291619",
      "parents": [
        "8182e354d84a0cdf92458b268f96c28d2dce3cb6"
      ],
      "author": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Tue Apr 03 15:40:56 2018 +0100"
      },
      "committer": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Thu Apr 19 10:08:39 2018 +0100"
      },
      "message": "Enforce permission when disabling API checks.\n\nAdd a new internal permission required to disable hidden API checks using\n\"am instrument\". Grant this permission to the shell.\n\nTest: $ adb shell am instrument --no-hidden-api-checks mypackage/.MainInstrumentation\nBug: 64382372\n\nChange-Id: I193dba412560f17810ad0c67c733a1eec15fa7b7\n"
    },
    {
      "commit": "4232d8440e6326aeb18b4bd0aa175d085ea04a52",
      "tree": "d7dd76161dc145fe2253adf962cd546e3058b40a",
      "parents": [
        "4558c77d5d2f197d697a18c41ea1716ffc65db28"
      ],
      "author": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Sun Apr 15 21:48:28 2018 -0700"
      },
      "committer": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Sun Apr 15 21:48:28 2018 -0700"
      },
      "message": "Import translations. DO NOT MERGE\n\nAuto-generated-cl: translation import\n\nBug: 64712476\nChange-Id: I06dbe1dfd8098c454295925a57df4e1ac7a41d7e\n"
    },
    {
      "commit": "2a6f10e1a3418d8c53e31f38e8c7f80cb8c90b13",
      "tree": "218d0824cdb3ee52ff28c12650d583ddeeb3b59c",
      "parents": [
        "d8adb9929572749d28a3d2e5a5f9d8d6c8f298f5"
      ],
      "author": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Sun Apr 15 21:41:43 2018 -0700"
      },
      "committer": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Sun Apr 15 21:41:43 2018 -0700"
      },
      "message": "Import translations. DO NOT MERGE\n\nChange-Id: I5e131097e7b40f499ec303f264149a694bcf03a1\nAuto-generated-cl: translation import\n"
    },
    {
      "commit": "f3fef75aecd74a117b7e7e31f7418960936351f7",
      "tree": "c4f072a0190d5df28833679529b17aba94039c22",
      "parents": [
        "9a58caaaff02aac198df84e87ccd0a12a98726be"
      ],
      "author": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Fri Apr 13 04:13:26 2018 -0700"
      },
      "committer": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Fri Apr 13 04:13:26 2018 -0700"
      },
      "message": "Import translations. DO NOT MERGE\n\nAuto-generated-cl: translation import\n\nBug: 64712476\nChange-Id: Ic5c3b8a83e48276c715b767d5a0cb9b61debe0b9\n"
    },
    {
      "commit": "b19c2e7451c61e1e251e8f2fb31b871747b27295",
      "tree": "4ce8b05dbad4ffc50c3e5a2dbd3a19b045bea21b",
      "parents": [
        "80942adff25a07ff7764729f7a9da31da42bc539",
        "03ba2d9241f481eb7af475a567adea63131a7acd"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Apr 10 10:11:10 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Apr 10 10:11:10 2018 -0700"
      },
      "message": "Merge \"Exempt tests for hidden APIs.\" into pi-dev am: 0e675bd901\nam: 03ba2d9241\n\nChange-Id: I0e4517312cac9b37537eee55eafd811aff531ea8\n"
    },
    {
      "commit": "03ba2d9241f481eb7af475a567adea63131a7acd",
      "tree": "0cdac0aed36aa836ae96b0f2e8d3d250710f34b7",
      "parents": [
        "f22da1cb77fca9fcfff4eb650e0101ecda1ae65e",
        "0e675bd901716b9e979bb83d724efaeb5e42f3b8"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Apr 10 09:56:52 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Apr 10 09:56:52 2018 -0700"
      },
      "message": "Merge \"Exempt tests for hidden APIs.\" into pi-dev\nam: 0e675bd901\n\nChange-Id: I012a1ce8483f5fdddf60cfd33ea4303d72455fca\n"
    },
    {
      "commit": "0e675bd901716b9e979bb83d724efaeb5e42f3b8",
      "tree": "945135d5aadec7ebe2d1f439297423cc06c1e6e4",
      "parents": [
        "54d87890297df02bc4826f30837810d0b48a3035",
        "b0284fb5de8832331a049e44e2ba9f67931013f3"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 10 16:34:05 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 10 16:34:05 2018 +0000"
      },
      "message": "Merge \"Exempt tests for hidden APIs.\" into pi-dev"
    },
    {
      "commit": "b0284fb5de8832331a049e44e2ba9f67931013f3",
      "tree": "32a34a96c50e2aec4e1b411b9763d015d26c5bae",
      "parents": [
        "ddeaefb546c15f26bf7d4372a0d3e000463c7a5e"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Apr 06 14:03:18 2018 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Apr 06 14:54:39 2018 +0100"
      },
      "message": "Exempt tests for hidden APIs.\n\nBug: 64382372\nBug: 74963051\nTest: m\nChange-Id: I5234dd6230f2bdd6ffccbf12b25a02d929d20161\n"
    },
    {
      "commit": "d5732b48d866589a224c4a3b8d6aa94bb3c7fc9f",
      "tree": "dfb2dab4427dd288471e042ffc196bbb80135036",
      "parents": [
        "d2c218f78a0a42717337aa49d3b7fa5390afa9ad"
      ],
      "author": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Fri Apr 06 05:04:06 2018 -0700"
      },
      "committer": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Fri Apr 06 05:04:06 2018 -0700"
      },
      "message": "Import translations. DO NOT MERGE\n\nAuto-generated-cl: translation import\n\nBug: 64712476\nChange-Id: I01e238c2e50777eb025e8ba17f9e7a5fa056adc9\n"
    },
    {
      "commit": "7899f37af0a70cdd6b0937e4ecca51dd42a02718",
      "tree": "e257d708de48c64df597891d2e48348d705af913",
      "parents": [
        "fff19c98b916044b5c535de2e17105f25c17d1f1"
      ],
      "author": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Wed Apr 04 07:59:15 2018 -0700"
      },
      "committer": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Wed Apr 04 07:59:15 2018 -0700"
      },
      "message": "Import translations. DO NOT MERGE\n\nChange-Id: I0cce19168c70d2d12c0299d0e75cfdb99d7bfa3d\nAuto-generated-cl: translation import\n"
    },
    {
      "commit": "1118d7f50367be84464c2669f0034b87cf3ffa9b",
      "tree": "0b4b11dd82348777285a805bb04324544386c377",
      "parents": [
        "21ba6eff91be8725c789b22f56ee459900197362"
      ],
      "author": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Sat Mar 31 10:08:50 2018 -0700"
      },
      "committer": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Sat Mar 31 10:08:50 2018 -0700"
      },
      "message": "Import translations. DO NOT MERGE\n\nAuto-generated-cl: translation import\n\nBug: 64712476\nChange-Id: Iba86b12b7727eb9bfd90ded06bef2d692bf07268\n"
    },
    {
      "commit": "8c4fe094ad322ce265c68e412b2a97564905bf8f",
      "tree": "fe19e5f26fdfb66ed96c85def72ddbd21001444f",
      "parents": [
        "c9dc4b8f125e9f3d94d5d2c3bca99b630e1e2682",
        "6e377c93c867e49903ae1970a0d90e9e0a0ee859"
      ],
      "author": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Tue Mar 20 23:08:32 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Mar 20 23:08:32 2018 +0000"
      },
      "message": "Merge \"Merge \"Allow the shell to start task overlay activities.\" into pi-dev am: 3785417848\" into pi-dev-plus-aosp\nam: 6e377c93c8\n\nChange-Id: Id63ed878fece5499e264c6fae17e638f636e9a40\n"
    },
    {
      "commit": "10c3747a5803fb6d742b6563edfadb4af3e04864",
      "tree": "a5c02ecf3d9d002dc36ff4b04ff5229e39800130",
      "parents": [
        "ce0f7f59b77cabc66e6a43bc9e60455219a852cb",
        "3785417848f95c24d2095daeaed0d1cb6b04fb35"
      ],
      "author": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Tue Mar 20 21:23:45 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Mar 20 21:23:45 2018 +0000"
      },
      "message": "Merge \"Allow the shell to start task overlay activities.\" into pi-dev\nam: 3785417848\n\nChange-Id: I5ceb2668aa3fa6f3b1a874a84d5dfa5325fa27e1\n"
    },
    {
      "commit": "58fb749d42faf0d9691804bf81ff0869a5b2dfb2",
      "tree": "5b2ac1eb6feadc6eb6dcf5e2791b3349f31f0297",
      "parents": [
        "4cda02f25f87f6163fdd873a727dad02687d6e7b"
      ],
      "author": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Sat Mar 17 12:51:14 2018 -0700"
      },
      "committer": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Mon Mar 19 18:48:15 2018 -0700"
      },
      "message": "Allow the shell to start task overlay activities.\n\n- Fix issue with testFinishPipActivityWithTaskOverlay failing due to\n  new permission check in the system\n\nBug: 71716434\nTest: atest CtsActivityManagerDeviceTestCases:ActivityManagerPinnedStackTests#testFinishPipActivityWithTaskOverlay\n\nChange-Id: Ifbcd6c182d928f5aa5372d2db9fa71a142dc8474\n"
    },
    {
      "commit": "699a8a1700b810035ff9b29ce7f4d74d55659ebe",
      "tree": "62c8fc04902bf9be991cbaa59965e545cd955e08",
      "parents": [
        "35570276db209f8123be572b00c56ba7f97c1526"
      ],
      "author": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Fri Mar 16 23:45:34 2018 -0700"
      },
      "committer": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Fri Mar 16 23:45:34 2018 -0700"
      },
      "message": "Import translations. DO NOT MERGE\n\nChange-Id: Ied6b956b35a4b8be9e6ef5e6e52e3b6756ef3bbe\nAuto-generated-cl: translation import\n"
    },
    {
      "commit": "a31cb855f00b2109c6cf2e5c369b48a39183fd86",
      "tree": "eef41b532d1c7f1018787d33809e3563abd4f7b8",
      "parents": [
        "3678c0f366e8c48254f853a94e304b7fb6c02097",
        "bf5387edd88cdceb5208899ebd70d188fea54cfa"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Mar 14 03:14:45 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Mar 14 03:14:45 2018 +0000"
      },
      "message": "Merge \"Fix issue #62342672: API Review: OPSTR_ACTIVATE_VPN SystemApi\" into pi-dev\nam: bf5387edd8\n\nChange-Id: I713dedd3d5dc0c15031823191939979d3a169ae2\n"
    },
    {
      "commit": "bf1b57d856685243f677e1f1bd29866e637a16fb",
      "tree": "c5d22f1d9a7c2eaf7d6622f734d237673527549f",
      "parents": [
        "4983ebd9e29c8bfd4eb353147e3a3805f74e9edd"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Mar 07 12:42:47 2018 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Mar 13 14:51:30 2018 -0700"
      },
      "message": "Fix issue #62342672: API Review: OPSTR_ACTIVATE_VPN SystemApi\n\nAdd a new platform-only permission for being able to change\napp ops mode, so nothing outside of the platform can do this.\n\nBug: 62342672\nTest: Booted, ran, settings works, shell works, apps install\nChange-Id: I372e649c019a8f9b95919ff0da6f56612d7061c2\n"
    },
    {
      "commit": "e1d41bd8fafd55e2631ff741745e6c0b41c6f577",
      "tree": "6a6f7b424d2959e933991b6677e106043b54033b",
      "parents": [
        "1f0d78f3d4ebd8c6cc24fc97264cde27e386b738",
        "16268a69d6fdf6758d34f67ee635dae96d479333"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Mar 07 00:14:27 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Mar 07 00:14:27 2018 +0000"
      },
      "message": "Merge \"Fix issue #72116995: Add permission guarding Service#startForeground\" into pi-dev\nam: 16268a69d6\n\nChange-Id: I6ef5335e391eb9259ae0dfbf4f88032ad1d2bad4\n"
    },
    {
      "commit": "d9c83159d022e5a8c41958f87e7c705d86389bc9",
      "tree": "02b5975d657a399c479e81e03c7c7b6bae08a731",
      "parents": [
        "74ff1dad952b202baf04fb038ff34f60e5a59564",
        "0d155259be741d1ea729dae37e87c88c8b520170"
      ],
      "author": {
        "name": "Michael West",
        "email": "westmichael@google.com",
        "time": "Tue Mar 06 23:52:42 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Mar 06 23:52:42 2018 +0000"
      },
      "message": "Merge \"Add set-time and set-timezone shell cmds to alarm service\" into pi-dev\nam: 0d155259be\n\nChange-Id: I57521b0a5a467825cbe09e98fc52a491da90bc98\n"
    },
    {
      "commit": "16268a69d6fdf6758d34f67ee635dae96d479333",
      "tree": "ef49116300f6a0940ea4dec2234745b6f4acd68f",
      "parents": [
        "69598bbef56ba17a85a044f62380141964b93183",
        "dd027b3ab2087f4ccaf4e9d72472327f27789a1d"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Mar 06 23:04:16 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 06 23:04:16 2018 +0000"
      },
      "message": "Merge \"Fix issue #72116995: Add permission guarding Service#startForeground\" into pi-dev"
    },
    {
      "commit": "0d155259be741d1ea729dae37e87c88c8b520170",
      "tree": "26de4478c57ea3785e59b41a183c4986572ac04f",
      "parents": [
        "8fa420c26139c026ead12592bddb97b7ea907de1",
        "3f4c99d3eb319dfa3254d9530f8235fa77246c18"
      ],
      "author": {
        "name": "Michael West",
        "email": "westmichael@google.com",
        "time": "Tue Mar 06 22:41:40 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 06 22:41:40 2018 +0000"
      },
      "message": "Merge \"Add set-time and set-timezone shell cmds to alarm service\" into pi-dev"
    },
    {
      "commit": "9d5b768598ddf12a7359a40a25132b65a969ed59",
      "tree": "ed98511947fbb251cb88c16be117801a97666864",
      "parents": [
        "983c1e54e1ae651ffb4c0f1ce34a561624af6060"
      ],
      "author": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Tue Mar 06 11:14:25 2018 -0800"
      },
      "committer": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Tue Mar 06 11:14:25 2018 -0800"
      },
      "message": "Import translations. DO NOT MERGE\n\nChange-Id: I5954a1c6109b00913d5bc221c37f0532a57779d9\nAuto-generated-cl: translation import\n"
    },
    {
      "commit": "dd027b3ab2087f4ccaf4e9d72472327f27789a1d",
      "tree": "1f937eaea62c46d7f3758ccb73835acfa3c77ee9",
      "parents": [
        "081d3d2d89e7f73d01260ab92114814718614bea"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jan 19 17:44:46 2018 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Mar 05 16:59:21 2018 -0800"
      },
      "message": "Fix issue #72116995: Add permission guarding Service#startForeground\n\nNow requires permission if targeting P.\n\nNote that this is a separate permission from the existing one\nthat is required for instant apps to use foreground services.  The\nreason for this is that their semantics are different (the instant\napps permission is associated with an app op for control over what\nthe app is allowed, while the regular app permission is just a\nnormal permission that is always granted and only there for\nauditing of apps), and there are probably going to be cases where\na developer will want to use a foreground service in the full\nversion of their app but not as an instant app.\n\nBug: 72116995\nTest: atest CtsAppTestCases\nChange-Id: I883c9515c307ed8e39f0bf888c4045944c8183ac\n"
    },
    {
      "commit": "3f4c99d3eb319dfa3254d9530f8235fa77246c18",
      "tree": "7f547aab3b93ba12cc90247795de204ad7130baa",
      "parents": [
        "94e5d34d4e2143e15b21f6612d97748ef63e6b36"
      ],
      "author": {
        "name": "mswest46",
        "email": "westmichael@google.com",
        "time": "Thu Feb 01 10:13:10 2018 -0800"
      },
      "committer": {
        "name": "Michael West",
        "email": "westmichael@google.com",
        "time": "Mon Mar 05 19:50:12 2018 +0000"
      },
      "message": "Add set-time and set-timezone shell cmds to alarm service\n\nThese commands allow a user to set the time and the timezone\nfrom the shell. The shell now has signature|privileged\nSET_TIME and SET_TIME_ZONE permissions.\n\nBug: 67751701\nTest: manual - correctly sets the time and timezone from unrooted adb.\nChange-Id: I1d2820fd7dadd8b1f3900c0592eb28210370ce88\n"
    },
    {
      "commit": "ab6ec61251786bf6b4d0407db3bc28aeefcb55db",
      "tree": "fbdb5c5bd38879440eac702018dd53c0ed639541",
      "parents": [
        "58c83fa7c8609059f3d66a5860abb302284c2981"
      ],
      "author": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Fri Feb 23 12:57:51 2018 +0000"
      },
      "committer": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Wed Feb 28 15:13:23 2018 +0000"
      },
      "message": "frameworks/base: Set LOCAL_SDK_VERSION where possible.\n\nThis change sets LOCAL_SDK_VERSION for all packages where\nthis is possible without breaking the build, and\nLOCAL_PRIVATE_PLATFORM_APIS :\u003d true otherwise.\n\nSetting one of these two will be made required soon, and this\nis a change in preparation for that. Not setting LOCAL_SDK_VERSION\nmakes the app implicitly depend on the bootclasspath, which is\noften not required. This change effectively makes depending on\nprivate apis opt-in rather than opt-out.\n\nTest: make relevant packages\nBug: 73535841\nChange-Id: I4233b9091d9066c4fa69f3d24aaf367ea500f760\n"
    },
    {
      "commit": "46e37f5ebe6adbc19501041483e8fedfc9d422e4",
      "tree": "03a05517f64b3956847aa40c332197d2088df505",
      "parents": [
        "964d718c249bf228b79168f22cad874b95408304"
      ],
      "author": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Mon Feb 26 14:38:22 2018 -0800"
      },
      "committer": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Mon Feb 26 14:38:22 2018 -0800"
      },
      "message": "Import translations. DO NOT MERGE\n\nChange-Id: I521f23607bf345ff51627adaf460e4128db8eb4b\nAuto-generated-cl: translation import\n"
    },
    {
      "commit": "b93008770bafde814d226b65eab00780eca40ac5",
      "tree": "3d7741cb0049a516f91f50de5ddb81c36a8337ab",
      "parents": [
        "461a6a8fb3323ee01eff74b1499366ce4851f57c",
        "3d088810c99b33debbda3fae90eea82bdb339121"
      ],
      "author": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Fri Feb 23 00:15:30 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 23 00:15:30 2018 +0000"
      },
      "message": "Merge \"Give shell CONTROL_KEYGUARD permission.\""
    },
    {
      "commit": "3d088810c99b33debbda3fae90eea82bdb339121",
      "tree": "86dc319fb08359661423ff3ef1bf9cb5a1b20a3f",
      "parents": [
        "93d7d0e56ed6ea3ff5a6a5d4c60bc5060cbee24f"
      ],
      "author": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Thu Feb 22 12:36:55 2018 -0800"
      },
      "committer": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Thu Feb 22 12:36:55 2018 -0800"
      },
      "message": "Give shell CONTROL_KEYGUARD permission.\n\nFollow-up to ag/3614843 where we started to enforce the permission in\nwindow manager.\n\nBug: 67109817\nTest: builds\nChange-Id: Id5712d2ed4c537da3a443f9c51aa15e3c84d670b\n"
    },
    {
      "commit": "f2c32815ae57cc45678bcc1e51369bda5ed3c2cf",
      "tree": "453cb69239f00df46cba64292964b07f62328846",
      "parents": [
        "95846dddc72b2fec9a2922da56ce24c1c28eb042",
        "ecff5dc68b50db3821c1919d050a8bfe34ed3a8f"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@google.com",
        "time": "Thu Feb 22 20:19:25 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 22 20:19:25 2018 +0000"
      },
      "message": "Merge \"Bugreport SAF provider isn\u0027t \"advanced.\"\""
    },
    {
      "commit": "ecff5dc68b50db3821c1919d050a8bfe34ed3a8f",
      "tree": "b510a7b3e999997a615b5623e18fc3dbc060762f",
      "parents": [
        "f66699314c762ea8ee3bcfbd6654b02e4e6b7c98"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Feb 22 09:41:17 2018 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Feb 22 09:41:17 2018 -0700"
      },
      "message": "Bugreport SAF provider isn\u0027t \"advanced.\"\n\nUX churn over the years has turned FLAG_ADVANCED into \"show internal\nstorage\" which means it\u0027s super confusing.\n\nWhen the Bugreport SAF provider is enabled, just show it.\n\nTest: sure\nBug: 32540478\nChange-Id: Id11278c27da8f5f1d1346b208d85b5db59a9e174\n"
    },
    {
      "commit": "a9c05e4daeb90d660786e3d803500394a5cf4c3c",
      "tree": "9bfdf6b534082fa4abd7179977d9b15ca04bf5ef",
      "parents": [
        "00ddbbc8c38396d46fb838d7199e69303c989448"
      ],
      "author": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Thu Feb 22 02:56:20 2018 -0800"
      },
      "committer": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Thu Feb 22 02:56:20 2018 -0800"
      },
      "message": "Import translations. DO NOT MERGE\n\nChange-Id: I5b822189f2a536e571345a6f761015f0f56a19b3\nAuto-generated-cl: translation import\n"
    },
    {
      "commit": "2d20fb47f4a7162450f993728876c74762b93112",
      "tree": "eaac12d61e2c3165bfc18a04fb9da24967c9c682",
      "parents": [
        "7d5beeb25530ec016557f37bb900b201ba4d498c"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Thu Feb 08 15:52:10 2018 -0800"
      },
      "committer": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri Feb 16 18:29:04 2018 -0800"
      },
      "message": "APIs to watch active op changes\n\nSystem singed components can watch for starting/finishing of\nlong running app ops. Also protected the APIs to watch op mode\nchanges with a singature permission for the cross-uid use case.\n\nTest: atest com.android.server.appops.AppOpsActiveWatcherTest\n\nbug:64085448\n\nChange-Id: Id7fe79ce1de4c5690b4f52786424ec5a5d9eb0fa\n"
    },
    {
      "commit": "8dddeb98f5ce685eab6f8c876c77578e0955dd77",
      "tree": "7ea91fc87542eb731066f9cbeead6af3290b6ba0",
      "parents": [
        "e848e106b6373d7ca73cfcdac26757c0ea763cd8",
        "0b4add68db8e5e2ed4f43a651a55574917fcf551"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Feb 12 19:47:35 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 12 19:47:35 2018 +0000"
      },
      "message": "Merge \"Revert \"Fix issue #72116995: Add permission guarding Service#startForeground\"\""
    },
    {
      "commit": "0b4add68db8e5e2ed4f43a651a55574917fcf551",
      "tree": "7feb40b8d9fbff875d6034d7da0c8b5b9364d77e",
      "parents": [
        "a9da85fde4675ed0b03557e448b1cc67f1d391fe"
      ],
      "author": {
        "name": "Ian Pedowitz",
        "email": "ijpedowitz@google.com",
        "time": "Mon Feb 12 16:12:33 2018 +0000"
      },
      "committer": {
        "name": "Ian Pedowitz",
        "email": "ijpedowitz@google.com",
        "time": "Mon Feb 12 16:12:33 2018 +0000"
      },
      "message": "Revert \"Fix issue #72116995: Add permission guarding Service#startForeground\"\n\nThis reverts commit a9da85fde4675ed0b03557e448b1cc67f1d391fe.\n\nReason for revert: b/73224471\n\nBug: 73224471\nBug: 72116995\nChange-Id: I1485305f40d47fdb138cb1e484c329cf20892a6b\n"
    },
    {
      "commit": "20b5dec9d3dce2e4ca09318f36e302b75ab07460",
      "tree": "cabd2f236a49d245a17a811cf89da95b11073253",
      "parents": [
        "d33dbf0e04883d2f6973547d5e248191b14e3a3f",
        "f62d869ea5af629544215b06b95c3471f0829c9c"
      ],
      "author": {
        "name": "Baisheng Zheng",
        "email": "baisheng@google.com",
        "time": "Mon Feb 12 01:34:00 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 12 01:34:00 2018 +0000"
      },
      "message": "Merge \"Add dedicated signature permissions to platform manifest and shell manifest which could enable/disable BT and Wifi state on watch\""
    },
    {
      "commit": "f62d869ea5af629544215b06b95c3471f0829c9c",
      "tree": "4b4e949163629310e7be25b9f609fab76996d356",
      "parents": [
        "3c3ac03af2f6688a09d5400693b5f8c0b154a24c"
      ],
      "author": {
        "name": "baisheng",
        "email": "baisheng@google.com",
        "time": "Thu Jan 25 18:07:24 2018 +0800"
      },
      "committer": {
        "name": "baisheng",
        "email": "baisheng@google.com",
        "time": "Sun Feb 11 15:03:19 2018 +0800"
      },
      "message": "Add dedicated signature permissions to platform manifest and shell manifest which could enable/disable BT and Wifi state on watch\n\nSkip Bluetooth consent UI if running on shell, also fix a typo in log message.\n\nTest: Manual test running `adb root; adb shell service call bluetooth_manager 6` and see if BT is on without consent UI.\nBug: 69872231\nChange-Id: Ie513794a7fc13041259fd84734bfc651495ba5cf\n"
    },
    {
      "commit": "a9da85fde4675ed0b03557e448b1cc67f1d391fe",
      "tree": "c901ec0f1a35514c8eab7d8f089cf813a4ef1d89",
      "parents": [
        "0589371900a47b70dd5851c9792ffdbdd781c96c"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jan 19 17:44:46 2018 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Feb 07 14:02:02 2018 -0800"
      },
      "message": "Fix issue #72116995: Add permission guarding Service#startForeground\n\nNow requires permission if targeting P.\n\nNote that this is a separate permission from the existing one\nthat is required for instant apps to use foreground services.  The\nreason for this is that their semantics are different (the instant\napps permission is associated with an app op for control over what\nthe app is allowed, while the regular app permission is just a\nnormal permission that is always granted and only there for\nauditing of apps), and there are probably going to be cases where\na developer will want to use a foreground service in the full\nversion of their app but not as an instant app.\n\nBug: 72116995\nTest: atest CtsAppTestCases\nChange-Id: I95afb7185742b82c525e775ca20bb36015510b43\n"
    },
    {
      "commit": "c2cbc0727aa942ad5ed6f703135a65e4681e3601",
      "tree": "e6d81722653f4592dca99c5f9718b1ad9dca29a7",
      "parents": [
        "e2975162dca148be4be46b5bfbacdce7c74513ee"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jan 25 10:40:49 2018 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jan 25 10:43:28 2018 -0800"
      },
      "message": "Revert \"Fix issue #72116995: Add permission guarding Service#startForeground\"\n\nThis reverts commit 994b5ad737831854ac3ba119abba533adca774fc.\n\nWaiting for Chrome prebuilt.\n\nTest: NA\nBug: 72116995\nChange-Id: Ifcfea94ddefda27267640283038c9d0f933ea1d8\n"
    },
    {
      "commit": "994b5ad737831854ac3ba119abba533adca774fc",
      "tree": "6878e43694bfad9ae0e03f2f479d2a41b17b7301",
      "parents": [
        "00be19795d68bb5a670b749972b6690e1fa3ce5f"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jan 19 17:44:46 2018 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jan 24 17:58:24 2018 +0000"
      },
      "message": "Fix issue #72116995: Add permission guarding Service#startForeground\n\nNow requires permission if targeting P.\n\nNote that this is a separate permission from the existing one\nthat is required for instant apps to use foreground services.  The\nreason for this is that their semantics are different (the instant\napps permission is associated with an app op for control over what\nthe app is allowed, while the regular app permission is just a\nnormal permission that is always granted and only there for\nauditing of apps), and there are probably going to be cases where\na developer will want to use a foreground service in the full\nversion of their app but not as an instant app.\n\nBug: 72116995\nTest: atest CtsAppTestCases\nChange-Id: If5a79e7ed5ab9e0edc77410315eb4d2df8ac850b\n"
    },
    {
      "commit": "82f09bcf93cc2e0f9a363f40bf8a64bcaa6d8b9f",
      "tree": "32a71e546599d857870a07775762411fb2587c54",
      "parents": [
        "6e3be007786a8b0cc46b50f96438f2860f7f868b"
      ],
      "author": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri Jan 12 22:08:40 2018 -0800"
      },
      "committer": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Sun Jan 21 02:55:49 2018 -0800"
      },
      "message": "No camera for idle uids - framework\n\nIf a UID is idle (being in the background for more than\ncartain amount of time) it should not be able to use the\ncamera. If the UID becomes idle we generate an eror and\nclose the cameras for this UID. If an app in an idle UID\ntries to use the camera we immediately generate an error.\nSince apps already should handle these errors it is safe\nto apply this policy to all apps to protect user privacy.\n\nTest: Pass - cts-tradefed run cts -m CtsCameraTestCases\n      Added - CameraTest#testCameraAccessForIdleUid\n\nChange-Id: If6ad1662f2af6592b6aca1aeee4bd481389b5e00\n"
    },
    {
      "commit": "57eb94358527242b4265e59f277ef262af2df17d",
      "tree": "c784e938045359616305f17d72a0e4647adfc79b",
      "parents": [
        "aa993a65b5eff3ad65cd361744f27607d17acb87",
        "c1006a335f67788b6874373035cb9215dba781f2"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Jan 20 04:09:35 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jan 20 04:09:35 2018 +0000"
      },
      "message": "Merge \"Don\u0027t record audio if UID is idle - framework\""
    },
    {
      "commit": "0116f7cbe449394e5d31778eb1c716aafb2803be",
      "tree": "4168a3a17cc746746ce4ba189914d774d9004870",
      "parents": [
        "5aff4813b0c5ef26d9b26624023b835092380336",
        "8bd1395881446e807924d6f320966d7c26d3d527"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Jan 20 01:37:29 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jan 20 01:37:29 2018 +0000"
      },
      "message": "Merge \"No sensor access to idle UIDs - framework\""
    },
    {
      "commit": "c1006a335f67788b6874373035cb9215dba781f2",
      "tree": "88252c8d16ae5a70ff11ad490a8cdefafc2badc7",
      "parents": [
        "8bd1395881446e807924d6f320966d7c26d3d527"
      ],
      "author": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Tue Jan 16 14:05:18 2018 -0800"
      },
      "committer": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Thu Jan 18 00:21:33 2018 -0800"
      },
      "message": "Don\u0027t record audio if UID is idle - framework\n\nTo protect user\u0027s privacy if a UID is in an idle state we allow\nrecording but report silence (all zeros in the byte array) and once\nthe process goes in an active state we report the real mic data.\nThis avoids the race between the app being notified aboout its\nlifecycle and the audio system being notified about the state\nof a UID.\n\nTest: Added - AudioRecordTest#testRecordNoDataForIdleUids\n      Passing - cts-tradefed run cts-dev -m CtsMediaTestCases\n             -t android.media.cts.AudioRecordTest\n\nbug:63938985\n\nChange-Id: I8b0a0889c4aee07f4e1d3c7e4cee0821f2f8cd91\n"
    },
    {
      "commit": "1e0bf63b44714bd7c39c9ecbd3075c7635d4c04e",
      "tree": "851445382a8bc878ca1b065b695c6a303cbcfc85",
      "parents": [
        "21acc10b28a39892d49940e2d8d3331e1e7f67fd"
      ],
      "author": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Wed Jan 17 22:25:01 2018 -0800"
      },
      "committer": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Wed Jan 17 22:25:01 2018 -0800"
      },
      "message": "Import translations. DO NOT MERGE\n\nChange-Id: I6b13005d123462b08911d4fec5600311fccf9dee\nAuto-generated-cl: translation import\n"
    },
    {
      "commit": "8bd1395881446e807924d6f320966d7c26d3d527",
      "tree": "47b90f83aa052dde6c48ce3b61f0526d0b15221d",
      "parents": [
        "2bb444136a10731f73fe7e7052a0fcbec0472262"
      ],
      "author": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon Jan 15 21:32:00 2018 -0800"
      },
      "committer": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Tue Jan 16 21:43:35 2018 -0800"
      },
      "message": "No sensor access to idle UIDs - framework\n\nIdle UIDs are ones that were in the background for long enough time.\nCurrently such apps can access sensor data even though they have no\nuser perceptible components running. This affects the user\u0027s privacy\nsince an app in the background can use sensor data to infer location,\nactivity, habbits, etc.\n\nThe goal is to restrict sensor access for all apps in the ecosystem\nregardless of target SDK which means the solution should be backwards\ncompatible. At the high level the sesnor service observes UID state\nchanges and applies policy like this:\n\nContinuous sensors: for sensros in this reporting mode when the UID\ngoes in the background we will stop dispatching events. Once the UID\ngoes active we will start reporting the events. While this is an\napp visible behavior change we would rather do that vs delivering\nfake events.\n\nFlush events: there is no change in behavior based on the UID state.\nHence, idle apps can request a flush and would get the completion\ncallback. From an app perspective flushing works at any point.\n\nTrigger events: for sensors in this reporting mode when the UID\ngoes in the background we will not report any trigger events. From\nan app perspective the sensor just did not pick up any events.\n\nOn-change events: for sensors in this reporting mode when the UID\ngoes in the background we will not report any change events. From\nan app perspective the sensor just did not pick up any events.\n\nWake locks: since UIDs in idle state cannot acquire wakelocks we\nwill not be grabbing a wakelock on behalf of apps in that state.\n\nTest: Added - SensorTest#testSanitizedContinuousEventsUidIdle\n      Added - SensorTest#testBatchAndFlushUidIdle\n      Pass - cts-tradefed run cts-dev -m CtsSensorTestCases\n\nbug:63938985\n\nChange-Id: Iee73dc034f5fe7fbea789a3b60db4290757c5052\n"
    },
    {
      "commit": "e1daf52b92adf3962ded260a36a9594ef8540823",
      "tree": "7e366a0a349198edb7d08fda295006b6822eab6a",
      "parents": [
        "64938fb2904fa28459aa9c5d2cd7cc1e4ad07b11",
        "c80c67e7bc96691b6e3700bac49e819ad52db0ae"
      ],
      "author": {
        "name": "Lucas Dupin",
        "email": "dupin@google.com",
        "time": "Sat Jan 13 01:13:26 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jan 13 01:13:26 2018 +0000"
      },
      "message": "Merge \"Allow custom keyguard \"prompt reason\"\""
    },
    {
      "commit": "c4a5b5010f18aae74f8a556120335bc5e800a679",
      "tree": "2b5320750ec17e00de5994dbefb629f5a961e8cf",
      "parents": [
        "1ee851410124459b850736ac044183580ada74d2",
        "1ab3d6e56b56fe0cfe31e437326b5cbc66bdb361"
      ],
      "author": {
        "name": "Ben Gruver",
        "email": "bgruv@google.com",
        "time": "Thu Jan 11 22:20:38 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 11 22:20:38 2018 +0000"
      },
      "message": "Merge \"Implement harmful app warning at activity launch\""
    },
    {
      "commit": "c80c67e7bc96691b6e3700bac49e819ad52db0ae",
      "tree": "e9115a436eca8b77eb4aa7ab20645a458c960549",
      "parents": [
        "c9c82958ab21cb987be8c57b69a1e43037c30543"
      ],
      "author": {
        "name": "Lucas Dupin",
        "email": "dupin@google.com",
        "time": "Mon Dec 04 14:29:10 2017 -0800"
      },
      "committer": {
        "name": "Lucas Dupin",
        "email": "dupin@google.com",
        "time": "Thu Jan 11 13:15:31 2018 -0800"
      },
      "message": "Allow custom keyguard \"prompt reason\"\n\nAdds the possibility of presenting a custom message on\nthe keyboard if you\u0027re trying to dismiss the keyguard.\n\nThis is particularly useful when you\u0027re showing the\nbouncer because custom authentication (SmarLock)\nfailed.\n\nTest: launch FLAG_SHOW_WHEN_LOCKED activity and\n      call KeyguardManager#requestDismissKeyguard\nFixes: 63940122\nChange-Id: I0d88c0e59521887efa56d74874062b2b14970e4e\n"
    },
    {
      "commit": "1ab3d6e56b56fe0cfe31e437326b5cbc66bdb361",
      "tree": "39e7ba3aa2b34512aa29c4f35dd2de1a06777c5f",
      "parents": [
        "464eb00e67e0875e4f5abbc3417fc714ecc6ffe1"
      ],
      "author": {
        "name": "Ben Gruver",
        "email": "bgruv@google.com",
        "time": "Thu Dec 07 13:45:08 2017 -0800"
      },
      "committer": {
        "name": "Ben Gruver",
        "email": "bgruv@google.com",
        "time": "Thu Jan 11 12:13:29 2018 -0800"
      },
      "message": "Implement harmful app warning at activity launch\n\nBug: 63909431\nTest: manual\n\nChange-Id: I8a5497421cb8130af8cdd5129b0f6e1707a01e36\n"
    },
    {
      "commit": "3fed747cc770063b44d9ffd75c72e6827d8ea526",
      "tree": "e302da7d05ae64825c5c97515c7977f3f92b9fb3",
      "parents": [
        "d396b28c20efac67c3ea442dbfcc4db84807764e",
        "497350d61e6e0d09bab8ad570329f4e4a363cfa5"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jan 11 17:09:44 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 11 17:09:44 2018 +0000"
      },
      "message": "Merge \"Apply IDumpstateListener changes\""
    },
    {
      "commit": "4a539441d844f85fd899862078b4c27641c1b606",
      "tree": "b0a849cc161ed072e799982a117cb053142e9837",
      "parents": [
        "61823f3a23750d672947ba7b5bb6dd4f1ff5503f"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Jan 05 17:09:52 2018 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Sun Jan 07 19:40:29 2018 -0700"
      },
      "message": "Start using new reserved disk GID.\n\nWe recently created a new GID that can be granted to critical system\nprocesses, so that the system is usable enough for the user to free\nup disk space used by abusive apps.\n\nDefine a permission for the GID so we can grant it to system apps,\nand add the GID to core apps needed for system stability.  (The list\nwas mostly derived from filling a disk and seeing what caused the\ndevice to fall over.)\n\nTest: builds, boots\nBug: 62024591\nChange-Id: Icdf471ed3bed4eeb8c01f1d39f0b40c1ea098396\n"
    },
    {
      "commit": "497350d61e6e0d09bab8ad570329f4e4a363cfa5",
      "tree": "841e7a49947301f0aca32f82a7c28ed91a4347a7",
      "parents": [
        "61823f3a23750d672947ba7b5bb6dd4f1ff5503f"
      ],
      "author": {
        "name": "Vishnu Nair",
        "email": "vishnun@google.com",
        "time": "Fri Jan 05 10:28:11 2018 -0800"
      },
      "committer": {
        "name": "Vishnu Nair",
        "email": "vishnun@google.com",
        "time": "Fri Jan 05 10:28:11 2018 -0800"
      },
      "message": "Apply IDumpstateListener changes\n\nBug: 70154685\nTest: Take bugreport on phone and verify debug output\nChange-Id: Icc5b532689c050837f6b4bde93f4655abec4aa0a\n"
    },
    {
      "commit": "d223db316d11a625a73f86392e7055d5c6f26e7d",
      "tree": "c620a6396b419bf5feb64355edf36726957fdfda",
      "parents": [
        "3cb35f37607cdb429734de905706c05957843da6"
      ],
      "author": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri Dec 22 09:43:48 2017 -0800"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Sat Dec 23 02:36:46 2017 +0000"
      },
      "message": "Add infrastructure for running a11y tests in instant mode\n\nThis change adds a special flag when binding to a service to request\ninstant apps to be considered as well (assuming the caller has the\npermission to see instant apps). This flag is scoped only for the\nplatform to use and is intended only for development and testing.\nSpecifically, we have a class of CTS tests that has tests plus service\nin the same APK (accessibility, printing, autofill, any other plugin\nbased sub-system).\n\nInstead of doing the tediuous work split all these into one APK with\ntests and one with the services where the latter exposes a remote\ninterface to the former, we will be adding shell commands to the\ndedicated sub-system to allow temporary binding to plugins provided\nby instant apps. The goal is not validating the plugin behavious,\nrather a working plugin is required to test app side funcionality.\n\nThis change adds a shell command to allow the a11y manager serivce\nto bind to plugins provided by instant apps. This is required to\nbe able to run relevant CTS test cases in instant mode.\n\nTest: cts-tradefed run cts-dev -m CtsAccessibilityTestCases\n      cts-tradefed run cts-dev -m CtsAccessibilityServiceTestCases\n\nBug: 70978575\n\nChange-Id: Ifced735a9a6e495747372dd8b00fdd64933a09c7\n"
    },
    {
      "commit": "57e4f25f09b2bc3d2c406a9643634df8f25029c6",
      "tree": "4f70429dc4fa7d2854dd818617585e10d5711a16",
      "parents": [
        "23627fbff5f13629e997a00b006a1ebdc423e735",
        "b866307f99c35252dcb76e9269bb57d97c3c4b86"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Fri Dec 08 18:02:27 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Dec 08 18:02:27 2017 +0000"
      },
      "message": "Merge \"Stop statically including legacy-android-test\""
    }
  ],
  "next": "32dbf7209d33e4e2d89b2841e6248aaa506a04a3"
}
