)]}'
{
  "log": [
    {
      "commit": "b598645e3da4a3c629615ae1c000dad2c5453da7",
      "tree": "e07fe8c25317292638908db82a1ad33f0ec9e957",
      "parents": [
        "a9f6576c8bba595209c743f2b7be8c22e7782b5d",
        "d847d7d0a92bbf599ab1664431bbb04beab8ea92"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Mar 23 04:04:01 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Mar 23 04:04:01 2018 +0000"
      },
      "message": "Merge \"Hide Media*2 APIs\" into pi-dev\nam: d847d7d0a9\n\nChange-Id: I29a18f6592ecc3f79483dacea6ca294a226ca792\n"
    },
    {
      "commit": "42033475ddfceee40021f5a5f751ca4f06119f50",
      "tree": "28341666417ac5861b7008b2a959ad7d8a78d135",
      "parents": [
        "e8ccd358a9db190f1c3f11a16d8c8265fe06df8a",
        "02c8d1b07fc5841029173ef9396ead24ef96ac2c"
      ],
      "author": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Fri Mar 23 02:08:23 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Mar 23 02:08:23 2018 +0000"
      },
      "message": "Merge \"Make PrecomputedText Spannable for supporting selection\" into pi-dev\nam: 02c8d1b07f\n\nChange-Id: Ida44cb2d564b0b16272915f7f0f181b98452c1ca\n"
    },
    {
      "commit": "4ca771aa5c6a3d77b48f62286e9a7c584be01b04",
      "tree": "c6ac388f1d0d5d06df987b17abffcae9bb465436",
      "parents": [
        "f2e9567dbfae40d76010d680be61d6225889da6f",
        "0205fd10646785f6d573b487f8ad5f56470bff07"
      ],
      "author": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Fri Mar 23 01:57:41 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Mar 23 01:57:41 2018 +0000"
      },
      "message": "Merge \"Add MANAGE_IPSEC_TUNNELS Permission\" into pi-dev\nam: 0205fd1064\n\nChange-Id: I7f1c987901c3634fb81d93402d5cb0af80fff11e\n"
    },
    {
      "commit": "d847d7d0a92bbf599ab1664431bbb04beab8ea92",
      "tree": "c150db1957b4d68e33c93574a7dc1d27b557fdba",
      "parents": [
        "0f4545ac6489e726dc6625853fcbd4732230b0ff",
        "3a582e73c115e693bab8cb6f213d275704b9c5d7"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Mar 23 01:12:14 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 23 01:12:14 2018 +0000"
      },
      "message": "Merge \"Hide Media*2 APIs\" into pi-dev"
    },
    {
      "commit": "e40a0838ba706d3e96c0ecd570050d7c431685bb",
      "tree": "97a64084a287edc01a0cb80c29dad0ba989a5594",
      "parents": [
        "31b5990893eae7bbc283bf4c1489c729886ee5a2",
        "3a31f6c5ccd9c8e490ecb475262059e7f52717b3"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Fri Mar 23 00:39:16 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Mar 23 00:39:16 2018 +0000"
      },
      "message": "Merge \"Removed urlBarResourceId.\" into pi-dev\nam: 3a31f6c5cc\n\nChange-Id: Ic039210e17b1f49d4232b97acdd46befcbd896d3\n"
    },
    {
      "commit": "31b5990893eae7bbc283bf4c1489c729886ee5a2",
      "tree": "5938784c435dee8a059dff356db21984a5eee7c8",
      "parents": [
        "55a9e1614bb70c34a7fb7b7eb7413398788a3842",
        "6affc07065083468c5580b04d3572ef6acbb138c"
      ],
      "author": {
        "name": "Suprabh Shukla",
        "email": "suprabh@google.com",
        "time": "Fri Mar 23 00:09:48 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Mar 23 00:09:48 2018 +0000"
      },
      "message": "Merge \"APIs to suspend packages with SUSPEND_APPS permission\" into pi-dev\nam: 6affc07065\n\nChange-Id: Icd9ccea90cac3b367b74915f76d39d7f5f740687\n"
    },
    {
      "commit": "fbe597e850823985310e59b77be51a805b04a402",
      "tree": "e3352643ccecbad91c5f047269ba9f19aba84006",
      "parents": [
        "776e4c1e31baa20ac7f6834f8c92baa166130383",
        "ceb14e015b537fa7d72f56b0f11c0d7d6120058b"
      ],
      "author": {
        "name": "Leon Scroggins",
        "email": "scroggo@google.com",
        "time": "Thu Mar 22 23:43:38 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Mar 22 23:43:38 2018 +0000"
      },
      "message": "Merge changes from topics \"DecodeException_ERROR\", \"AID_autoStart\", \"onPartialImage\" into pi-dev\nam: ceb14e015b\n\nChange-Id: I92ffd12b6e8df360a86733ca99676cd8f470addb\n"
    },
    {
      "commit": "1a82348834177c8dfe6e0fee7c8453572fd95f9f",
      "tree": "048df2740ec97997678c10de4ffbc2fa6f8d8200",
      "parents": [
        "153592fa3cd6f812ca8c13cb4e9e4056b8ebf9bc",
        "1d2bf2b846f0a98f7403bbc791adb2969685d87a"
      ],
      "author": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Thu Mar 22 23:34:41 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Mar 22 23:34:41 2018 +0000"
      },
      "message": "Re-write onPartialImage API\nam: 1d2bf2b846\n\nChange-Id: I7436bbe89b9efd9a406958b14f79294e982c5b3a\n"
    },
    {
      "commit": "3a582e73c115e693bab8cb6f213d275704b9c5d7",
      "tree": "eb74f27a2f4b776746f297d67fb4cbf25bc80d62",
      "parents": [
        "6446ed4a0f551b855474b34d7e6677120af943be"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Mar 20 17:59:13 2018 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Mar 22 16:30:14 2018 -0700"
      },
      "message": "Hide Media*2 APIs\n\nBug: 76121592\nTest: make offline-sdk-docs\nChange-Id: Ic5eba5ba0b3ef9f11c582ab6db7d8d61934941dd\n"
    },
    {
      "commit": "02c8d1b07fc5841029173ef9396ead24ef96ac2c",
      "tree": "be87eb70a38ccf854bdb8a4f76d231f65d1980b5",
      "parents": [
        "5f8939eecdf0101919e01cab1bce1b9e05757ad1",
        "a553477ddf55d170a66410ed325ae5e5d3005965"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Mar 22 23:21:54 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 22 23:21:54 2018 +0000"
      },
      "message": "Merge \"Make PrecomputedText Spannable for supporting selection\" into pi-dev"
    },
    {
      "commit": "153592fa3cd6f812ca8c13cb4e9e4056b8ebf9bc",
      "tree": "23039f84703ea824adea75c962d7cc2bdc771dec",
      "parents": [
        "32e4a497ae2c2927c8d2c7e6dbc718e7fdd363ae",
        "6c64e8357733a812ebe51fc31f4199a7f2ffc88a"
      ],
      "author": {
        "name": "Ivan Podogov",
        "email": "ginkage@google.com",
        "time": "Thu Mar 22 23:13:16 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Mar 22 23:13:16 2018 +0000"
      },
      "message": "Merge \"HIDD: Address API Review concerns\" am: 8085d6f247\nam: 6c64e83577\n\nChange-Id: Ibcdc31fcb01a583ca05c056b2063f77c0f4dbeb6\n"
    },
    {
      "commit": "0205fd10646785f6d573b487f8ad5f56470bff07",
      "tree": "ecb0af38eb95283a310843700ceb593639691dfa",
      "parents": [
        "3c0f0b3e8b02561faecf884e2cbdc35a7b48cbdc",
        "159788455c79fa47847d0c40fcee7aceff2551ae"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Mar 22 23:10:11 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 22 23:10:11 2018 +0000"
      },
      "message": "Merge \"Add MANAGE_IPSEC_TUNNELS Permission\" into pi-dev"
    },
    {
      "commit": "3a31f6c5ccd9c8e490ecb475262059e7f52717b3",
      "tree": "ab865e7c61b8978a96e2e68fce26181e8dbcfa9f",
      "parents": [
        "6affc07065083468c5580b04d3572ef6acbb138c",
        "88b745cce3555c3c29acec29aa71240f3b71b22c"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Mar 22 22:22:30 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 22 22:22:30 2018 +0000"
      },
      "message": "Merge \"Removed urlBarResourceId.\" into pi-dev"
    },
    {
      "commit": "6affc07065083468c5580b04d3572ef6acbb138c",
      "tree": "ce99f9bff97029318db42ac178b83a8379d99319",
      "parents": [
        "fc16c4b3c48233be0f22db671d7e80188b2dea17",
        "021b57ab8df0927aa1f78a2f3bb01d5e70594b1a"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Mar 22 22:15:31 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 22 22:15:31 2018 +0000"
      },
      "message": "Merge \"APIs to suspend packages with SUSPEND_APPS permission\" into pi-dev"
    },
    {
      "commit": "ceb14e015b537fa7d72f56b0f11c0d7d6120058b",
      "tree": "0b932cea075a912c017f4f3883b041d6458ab7fb",
      "parents": [
        "e8582d0ca7f78a7e90d44936778085ba131d95ba",
        "cf7294fda671a39e6aa21da30be0dac261d71638"
      ],
      "author": {
        "name": "Leon Scroggins",
        "email": "scroggo@google.com",
        "time": "Thu Mar 22 21:53:05 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 22 21:53:05 2018 +0000"
      },
      "message": "Merge changes from topics \"DecodeException_ERROR\", \"AID_autoStart\", \"onPartialImage\" into pi-dev\n\n* changes:\n  Rename ImageDecoder.ERRORs\n  Add the ability to autoStart AID from xml\n  Re-write onPartialImage API\n"
    },
    {
      "commit": "8085d6f247316817c44dc1bb58142be3dfebf08b",
      "tree": "bd6abf3543ce063879cc01ab717db798d0688d5c",
      "parents": [
        "ec76adb9ff7fb7b63c2c4528979486a4eaf1472e",
        "f2f5dc355fa9a962ded0d29368535796aa4116d8"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Mar 22 21:50:57 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 22 21:50:57 2018 +0000"
      },
      "message": "Merge \"HIDD: Address API Review concerns\""
    },
    {
      "commit": "159788455c79fa47847d0c40fcee7aceff2551ae",
      "tree": "cd7f708e07a4b11e56f7f5048bf83c7f10c8d6e5",
      "parents": [
        "8a047a0c5207433769a084f524fd3f9ebed18da8"
      ],
      "author": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Wed Mar 21 15:32:42 2018 -0700"
      },
      "committer": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Thu Mar 22 14:16:50 2018 -0700"
      },
      "message": "Add MANAGE_IPSEC_TUNNELS Permission\n\nAdd a new MANAGE_IPSEC_TUNNELS permission and\nprotect all IPsec Tunnel mode APIs with it.\nThis permission is only granted to the system or\nthrough an AppOp.\n\nBug: 66955045\nTest: compilation\nChange-Id: I0f618373b500c493ef2211bece681f74652a1833\n"
    },
    {
      "commit": "8a047a0c5207433769a084f524fd3f9ebed18da8",
      "tree": "5955f2e8f87afbd0cde492505972e66cd69a9daf",
      "parents": [
        "812319dc7da3ad9e1062aa94fa72445f11d43d1e",
        "1bb42067f077bed8c865d8cef2f4b397be4d996e"
      ],
      "author": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Thu Mar 22 21:14:36 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 22 21:14:36 2018 +0000"
      },
      "message": "Merge \"Add AppOp for IpSec Tunnels\" into pi-dev"
    },
    {
      "commit": "3a4d495733fc2d7dc12abb3be95fe879903419e7",
      "tree": "802e9d0419537bc5144a24ca16acb0adf0072790",
      "parents": [
        "90ad15400ac12a709fcb19a6c6197d3968eb37f6",
        "0ab380166d875021ccbf83636b1cca2d1fdd8e55"
      ],
      "author": {
        "name": "Tyler Gunn",
        "email": "tgunn@google.com",
        "time": "Thu Mar 22 20:22:20 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 22 20:22:20 2018 +0000"
      },
      "message": "Merge \"Rename handover failure constant per API review comments.\" into pi-dev"
    },
    {
      "commit": "021b57ab8df0927aa1f78a2f3bb01d5e70594b1a",
      "tree": "f051df742120d34fc3ef87ee4c1d65b2e970d6ab",
      "parents": [
        "5d9617c439d0f85b67ba0d21e43f665ab9bf13ae"
      ],
      "author": {
        "name": "Suprabh Shukla",
        "email": "suprabh@google.com",
        "time": "Thu Mar 08 18:21:50 2018 -0800"
      },
      "committer": {
        "name": "Suprabh Shukla",
        "email": "suprabh@google.com",
        "time": "Thu Mar 22 12:59:57 2018 -0700"
      },
      "message": "APIs to suspend packages with SUSPEND_APPS permission\n\nChanged the existing hidden api setPackagesSuspendedAsUser to a system\napi setPackagesSuspended that can be called by apps with either\nMANAGE_USERS or SUSPEND_APPS permission. Additionally, the suspending\napp can now specify optional extra information meant to be used by the\nsuspended apps and the launcher to deal with this state.\n\nThe following other APIs are added:\n - isPackageSuspended(): Apps can query whether they are in a suspended\n state\n - @SystemApi getPackageSuspendedAppExtras(String): Apps with permission\n SUSPEND_APPS can get the appExtras passed to PM when suspending the\n app.\n - @SystemApi setPackageSuspendedAppExtras(String, PersistableBundle):\n Apps with permission SUSPEND_APPS can update app extras for a\n suspended package.\n - getPackageSuspendedAppExtras(): Apps can call to get the appExtras\n passed in to PM when they were suspended.\n\nTest: Can be run via:\natest com.android.server.pm.PackageManagerSettingsTests\natest com.android.server.pm.PackageUserStateTest\natest com.android.server.pm.SuspendPackagesTest\n\nBug: 74336673\nChange-Id: I3b9ed2c8478b34ee2e8986f5f5fddb2839d102e3\n"
    },
    {
      "commit": "88b745cce3555c3c29acec29aa71240f3b71b22c",
      "tree": "f92270f1d59ed4ab108859bab14af749ac3bac97",
      "parents": [
        "4e561f83cbfc1c05955f724db73c72366ad816eb"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Wed Mar 21 20:02:42 2018 -0700"
      },
      "committer": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Thu Mar 22 11:44:06 2018 -0700"
      },
      "message": "Removed urlBarResourceId.\n\nIt will be removed before the final P build.\n\nTest: atest FrameworksServicesTests:AutofillManagerServiceTest CtsAutoFillServiceTestCases\nFixes: 74445943\n\nChange-Id: I9bc243a3c1ae78f2c385dbb907d362d8ab16b34c\n"
    },
    {
      "commit": "c6bd1855656168119ab4ac62cbf0e7930551e846",
      "tree": "86a12390453cf28dc2ca103a074843b5695a72a1",
      "parents": [
        "3818de595b1b53a0fc9944d16d302169aff00384",
        "93d002ca5f94facfec75359999c910f914d7b7c4"
      ],
      "author": {
        "name": "Robert Berry",
        "email": "robertberry@google.com",
        "time": "Thu Mar 22 17:23:05 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 22 17:23:05 2018 +0000"
      },
      "message": "Merge \"Unhide RecoveryController#getRootCertificates()\" into pi-dev"
    },
    {
      "commit": "3818de595b1b53a0fc9944d16d302169aff00384",
      "tree": "d444c011946aa97b161c8fd832d1d313b43ac7a4",
      "parents": [
        "3bfa02a114a3df6f312ebbe7a521740b29208aa8",
        "750b71c6512dad08e9c8eb59c2ad3c0d4fcfe79f"
      ],
      "author": {
        "name": "Robert Berry",
        "email": "robertberry@google.com",
        "time": "Thu Mar 22 17:19:33 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 22 17:19:33 2018 +0000"
      },
      "message": "Merge \"Unhide RecoverySession#recoverKeyChainSnapshot() method\" into pi-dev"
    },
    {
      "commit": "cf7294fda671a39e6aa21da30be0dac261d71638",
      "tree": "5022640f87b3d5e48d889f69aafdf8f39a72250e",
      "parents": [
        "1dd88daf920a111fcf3f8744bd55e6828acd0fce"
      ],
      "author": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Thu Mar 22 09:21:29 2018 -0400"
      },
      "committer": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Thu Mar 22 13:09:02 2018 -0400"
      },
      "message": "Rename ImageDecoder.ERRORs\n\nBug: 73788969\nTest: I501e8b76aacd785cb994165ab01dc1b39fea3a1c\n\nMove them into ImageDecoder.DecodeException, which is where they are\nactually used. This also provides some more context, so that the prefix\n\"ERROR_\" is no longer necessary, fixing the redundancy/awkwardness in\nERROR_SOURCE_ERROR. Further rename that to SOURCE_MALFORMED_DATA, which\nis more descriptive, and does not imply a Java Error.\n\nChange-Id: Ied17ad343650f9c33d9a35b0f9d00ccc22264bd6\n"
    },
    {
      "commit": "4e561f83cbfc1c05955f724db73c72366ad816eb",
      "tree": "edc5d7507a4f03f4991fbba1ae288e6d0bbdb84c",
      "parents": [
        "8055aa2434f0163163fd07bbb8027fa2ee4ebb25",
        "fd4003bf0949a4a33200621d0c6f33dbebfa14d3"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Thu Mar 22 16:24:53 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 22 16:24:53 2018 +0000"
      },
      "message": "Merge \"Renamed AUTOFILL_COMPAT_MODE_ALLOWED_PACKAGES.\" into pi-dev"
    },
    {
      "commit": "aa8cbab151f4df89e3e2c7f3df36b005e01d8558",
      "tree": "9bc56fb3aad740d22a3f25ea6fa6920736902daf",
      "parents": [
        "dddd69ef3eb72edacc4961dc6a6f1ab0cddcf416",
        "49097c0b99c0fda9f5343406d28027a726bb94ee"
      ],
      "author": {
        "name": "Wyatt Riley",
        "email": "wyattriley@google.com",
        "time": "Thu Mar 22 16:10:08 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 22 16:10:08 2018 +0000"
      },
      "message": "Merge \"GNSS Model Name constant string and comment updates\" into pi-dev"
    },
    {
      "commit": "0ab380166d875021ccbf83636b1cca2d1fdd8e55",
      "tree": "8190db37376fccfbe92407a01dafb065b8c27cb1",
      "parents": [
        "dddd69ef3eb72edacc4961dc6a6f1ab0cddcf416"
      ],
      "author": {
        "name": "Tyler Gunn",
        "email": "tgunn@google.com",
        "time": "Mon Mar 19 20:14:10 2018 +0000"
      },
      "committer": {
        "name": "Tyler Gunn",
        "email": "tgunn@google.com",
        "time": "Thu Mar 22 15:34:32 2018 +0000"
      },
      "message": "Rename handover failure constant per API review comments.\n\nExpanding EMERG to EMERGENCY.\n\nTest: Build code\nBug: 74831393\nMerged-In: Ic0555b20dc508d022c0165a5d9dc3b40b33db70e\nChange-Id: Ic0555b20dc508d022c0165a5d9dc3b40b33db70e\n(cherry picked from commit a4ef504bdc3044920d4996b93c30751a2fbce217)\n"
    },
    {
      "commit": "750b71c6512dad08e9c8eb59c2ad3c0d4fcfe79f",
      "tree": "96a5266a387d19120af6e56566735eaf5056b091",
      "parents": [
        "98ea60c42766e973eb787a55a9b84ca91981c9e0"
      ],
      "author": {
        "name": "Robert Berry",
        "email": "robertberry@google.com",
        "time": "Wed Mar 21 16:31:52 2018 +0000"
      },
      "committer": {
        "name": "Robert Berry",
        "email": "robertberry@google.com",
        "time": "Thu Mar 22 13:49:54 2018 +0000"
      },
      "message": "Unhide RecoverySession#recoverKeyChainSnapshot() method\n\nThe other methods expose raw key materials, which is a security flaw. This\nnew API is already being used by GMSCore, via reflection (although falling\nback to the old methods if it is not available). Would be good to switch it\non ASAP.\n\nBug: 74345822\nTest: Tested with GMSCore\nChange-Id: I30d53c9e825888d1122c72d23b7c1c10c6edb1e9\n"
    },
    {
      "commit": "93d002ca5f94facfec75359999c910f914d7b7c4",
      "tree": "5f6d728044d5734d58aec4c758ff26ab087fb016",
      "parents": [
        "98ea60c42766e973eb787a55a9b84ca91981c9e0"
      ],
      "author": {
        "name": "Robert Berry",
        "email": "robertberry@google.com",
        "time": "Wed Mar 21 21:57:07 2018 +0000"
      },
      "committer": {
        "name": "Robert Berry",
        "email": "robertberry@google.com",
        "time": "Thu Mar 22 13:49:20 2018 +0000"
      },
      "message": "Unhide RecoveryController#getRootCertificates()\n\nThis is so we can add a GTS test to affirm that GMS devices include the\nGoogle Cloud Key Vault root certificate.\n\nTest: runtest frameworks-core -p android.security.keystore.recovery\nBug: 74621045\nChange-Id: Ib6431f5739f3dff066832e6aa300dd9da5bc0727\n"
    },
    {
      "commit": "a99b258049da5701d6a9839d921a7956d179b7c8",
      "tree": "3fb8654a568f8858fa68272ca46f80ea3c94fe4b",
      "parents": [
        "72fa61b3250529504a9f5dab2e927a0d2e873f58",
        "bbebf8feb49a1e227a2debd45ffff4731ae4a51f"
      ],
      "author": {
        "name": "Holly Jiuyu Sun",
        "email": "jiuyu@google.com",
        "time": "Thu Mar 22 03:45:55 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 22 03:45:55 2018 +0000"
      },
      "message": "Merge \"Mark eraseSubscriptions as @SystemApi.\""
    },
    {
      "commit": "e7997a3ea7c5dea839220ae832ea5ff7a7dc7742",
      "tree": "51962a2154f0cf113ecdd27faec7988d714c2ad0",
      "parents": [
        "b09f2b5926ace1ab1abb1a0dd0eb4ed70953d199"
      ],
      "author": {
        "name": "Bo Zhu",
        "email": "bozhu@google.com",
        "time": "Wed Mar 21 19:50:50 2018 -0700"
      },
      "committer": {
        "name": "Bo Zhu",
        "email": "bozhu@google.com",
        "time": "Wed Mar 21 19:50:50 2018 -0700"
      },
      "message": "Unhide the new RecoverySession#start with the alias for root cert\n\nBug: 76033708\nTest: none, it\u0027s just unhiding APIs\nChange-Id: Iec1e44d24bb1704da082404566233ada83b8eb81\n"
    },
    {
      "commit": "fd4003bf0949a4a33200621d0c6f33dbebfa14d3",
      "tree": "f51dbec3783fed2d2f7eb0587dca40f4be3e5d4e",
      "parents": [
        "655877cd84d274ff66bc29f5889dec554a439312"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Tue Mar 20 17:12:17 2018 -0700"
      },
      "committer": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Wed Mar 21 16:36:25 2018 -0700"
      },
      "message": "Renamed AUTOFILL_COMPAT_MODE_ALLOWED_PACKAGES.\n\nThe syntax of that setting changed from P Developer Preview1 to the final P, so\nit\u0027s safer to use a new name than risk breaking devices during the update.\n\nBug: 74458004\nTest: atest CtsAutoFillServiceTestCases:VirtualContainerActivityCompatModeTest\\\nFrameworksCoreTests:SettingsBackupTest\n\nChange-Id: I1c507e8eae20f598dfe259178667ae6c2bc892ff\n"
    },
    {
      "commit": "1bb42067f077bed8c865d8cef2f4b397be4d996e",
      "tree": "424061c4516940c9a7965b9f35366dd527b1bd7d",
      "parents": [
        "32ca41d02880686148cfa730897c575104cf045c"
      ],
      "author": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Wed Mar 14 17:08:53 2018 -0700"
      },
      "committer": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Wed Mar 21 15:23:39 2018 -0700"
      },
      "message": "Add AppOp for IpSec Tunnels\n\nAdd a new AppOp to allow bound system services\nsuch as TelephonyDataServices and potentially\nVPN providers to access the IPsec tunnel\nmanagement APIs. Since this is not directly\nuser-facing, and not all System apps should have\nthis privilege, the access is only granted via\nan AppOp or to the system itself.\n\nBug: 66955045\nTest: compilation (still WIP)\nChange-Id: I0b0528c75c622d8538baeec019c3672cbed5d899\n"
    },
    {
      "commit": "095b9e8e1c58393bac6e5f409ab73fe91cc15263",
      "tree": "b11a68b35233f703af99f914ed7440d02bf9ee7f",
      "parents": [
        "025cb0c392b623038bea3e1b0a59dc0c17eb1bef",
        "82485a2660b8eb3689021889f68b7e6e199a31c4"
      ],
      "author": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Wed Mar 21 20:59:02 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 21 20:59:02 2018 +0000"
      },
      "message": "Merge changes I4c26aea7,I79911434 into pi-dev\n\n* changes:\n  Check mOwnedByTransform to avoid DELSA on SPI\n  Expose add/removeAddress for IpSecInterfaces\n"
    },
    {
      "commit": "2f81559d293e09e6db706334b6b15a289ff1689a",
      "tree": "554ede72148c44b05e82b33480ca56277f96dffb",
      "parents": [
        "c7034f7ab11066a6cfa1a683df4cb46c524794dc",
        "56681f761e941b1268cde9fc71de39d133280d27"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 21 19:34:52 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 21 19:34:52 2018 +0000"
      },
      "message": "Merge \"Return a boolean from the mandatory backup transport setter.\" into pi-dev"
    },
    {
      "commit": "158a18108bdc726821f2d2b3119535a7c747130b",
      "tree": "29657be8c83aa58ab3afd259dd5c0dd9e23e9360",
      "parents": [
        "de51e0c61523f948d9a9797fce1f07e2a67e99fd",
        "1a07ccc07e9cc5b0ba8e8922979a486bd83f333d"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 21 17:14:47 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 21 17:14:47 2018 +0000"
      },
      "message": "Merge \"WebView Tracing API: remove LARGE_BUFFER, make RECORD_CONTINUOUSLY the default mode\" into pi-dev"
    },
    {
      "commit": "1a07ccc07e9cc5b0ba8e8922979a486bd83f333d",
      "tree": "415b95a8cdcff0f2e32fbf8074cb4a359725e74c",
      "parents": [
        "c16de0565bd0dceade35237daef7c8a5abf796cd"
      ],
      "author": {
        "name": "Tim Volodine",
        "email": "timvolodine@google.com",
        "time": "Mon Mar 19 20:07:23 2018 +0000"
      },
      "committer": {
        "name": "Tim Volodine",
        "email": "timvolodine@google.com",
        "time": "Wed Mar 21 17:12:20 2018 +0000"
      },
      "message": "WebView Tracing API: remove LARGE_BUFFER, make RECORD_CONTINUOUSLY the default mode\n\nThis patch:\n- remove the RECORD_UNTIL_FULL_LARGE_BUFFER tracing option, because\n  this does not appear really useful in the production setting as\n  the buffer size limit exceeds the device memory and can grow\n  uncontrollably large.\n- make RECORD_CONTINUOUSLY the default mode for tracing, to make\n  sure the least memory is used by default (typically 4x less than the\n  previous default RECORD_UNTIL_FULL).\n- add some missing IntDef values (to make them match with the constants)\n\nBUG: 63750258\nTest: CTS\n\nChange-Id: Ib3698273dee776ebc7a8388fc1bd8c80255e3b63\n"
    },
    {
      "commit": "1543171d3ea3c9c0cd3f958a789e35dd27b45df6",
      "tree": "75dac5aa45b065ce83b240d0b7759b8bde41bf92",
      "parents": [
        "f801b8ae6974f3adc900c992f68aa5195cbf35a6",
        "106387f0b283beeb5318f05e2033f15798e274b3"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 21 17:06:40 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 21 17:06:40 2018 +0000"
      },
      "message": "Merge \"Some Slices API refinement\" into pi-dev"
    },
    {
      "commit": "1d2bf2b846f0a98f7403bbc791adb2969685d87a",
      "tree": "25861f62e2badf62c654d22b6b3f039b649dad75",
      "parents": [
        "f344b3ead51d3ac96c60223cbc9a4a0bc7c61576"
      ],
      "author": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Wed Mar 14 16:07:43 2018 -0400"
      },
      "committer": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Wed Mar 21 12:55:46 2018 -0400"
      },
      "message": "Re-write onPartialImage API\n\nBug: 73788969\nTest: If9e27a6ce2604128a619bc4843d62711f94b4d87\n\nAdd a new Exception subclass that contains information about the type of\nerror, and the original Exception, if any. Remove the old\nIncompleteException class. If the decode creates a partial image, pass\nthe information up to Java, where we create the new Exception and pass\nit to the callback and/or throw it. Rewrite nDecodeBitmap to always take\nthe ImageDecoder as a parameter for this callback, and simply use a\nboolean to determine whether to call onPostProcess\n\nCheck for exceptions in some overlooked cases in native code, and\nroute to the new type.\n\nRemove FIXME to avoid parsing the whole image. In my limited testing,\nit didn\u0027t seem to speed anything up, and this should be called in a\nbackground thread anyway. Parsing now also ensures that we\u0027ve read the\nstream when we can have a chance to handle the exception from the right\nplace.\n\nRemove fixme for b/70626068, which has been marked as WontFix.\n\nAdd a TestApi for testing an Exception thrown by an InputStream.\n\nRemove onPartialImage from hiddenapi-light-greylist.txt to fix the build\nerror this change introduces. onPartialImage was erroneously added to\nthe list.\n\nChange-Id: I12f69857328e63c993bd669412b06addeb6a74f1\n"
    },
    {
      "commit": "f2f5dc355fa9a962ded0d29368535796aa4116d8",
      "tree": "81bec16fdf71bd82b24c794ba0a9f3e261e04da5",
      "parents": [
        "3aa064897e0f8a5c4738b8d29a70e0066445716a"
      ],
      "author": {
        "name": "Ivan Podogov",
        "email": "ginkage@google.com",
        "time": "Tue Feb 27 17:58:16 2018 +0000"
      },
      "committer": {
        "name": "Hansong Zhang",
        "email": "hsz@google.com",
        "time": "Wed Mar 21 09:44:57 2018 -0700"
      },
      "message": "HIDD: Address API Review concerns\n\n * Replace bare field usage with getter methods;\n * Remove Builder;\n * Move BluetoothHidDeviceCallback to inner class;\n * Remove toArray() and equals();\n * Throw IllegalArgumentException where applicable;\n * Add an Executor parameter before Callback;\n\nBug: 72168436, 72168126\nTest: make update-api, make, make sl4a.Common\nChange-Id: I13095458bf3ded7a376e8d20fd13df12ef426693\n"
    },
    {
      "commit": "56681f761e941b1268cde9fc71de39d133280d27",
      "tree": "c83b1960ce38d862aa9cdaefa11e001795857883",
      "parents": [
        "87b4c772a5833ce3165f42c9001a72de8f92ee8d"
      ],
      "author": {
        "name": "Lenka Trochtova",
        "email": "ltrochtova@google.com",
        "time": "Fri Mar 09 15:47:50 2018 +0100"
      },
      "committer": {
        "name": "Lenka Trochtova",
        "email": "ltrochtova@google.com",
        "time": "Wed Mar 21 15:48:41 2018 +0100"
      },
      "message": "Return a boolean from the mandatory backup transport setter.\n\nBug: 73813043\nBug: 64012357\nTest: cts-tradefed run cts -m CtsDevicePolicyManagerTestCases --test com.android.cts.devicepolicy.DeviceOwnerTest#testGetAndSetMandatoryBackupTransport\nTest: cts-tradefed run cts -m CtsBackupHostTestCase --test android.cts.backup.BackupDeviceOwnerHostSideTest\n\nChange-Id: I7f47a41070b767a6be8b986be485b4ad782690cf\n"
    },
    {
      "commit": "1918ef7569e90c70246e535478b26732b82d92d3",
      "tree": "1f0e89e4d85c2d5f531fff7fc74d2b9471171215",
      "parents": [
        "fc4ae7ec0eea2351afcff2a08a21247e10533c79"
      ],
      "author": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Wed Mar 14 09:20:39 2018 -0400"
      },
      "committer": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Wed Mar 21 10:03:29 2018 -0400"
      },
      "message": "UsageEvents for slices pinning\n\nTest: atest frameworks/base/services/tests/servicestests\nBug: 73455786\nChange-Id: I6a37f5525c29d3f47aa37e262c8834840309ba44\n"
    },
    {
      "commit": "695171695225d22f421cbd50f8e391c7620b82df",
      "tree": "c23da684d04ed924a1ef608fcd45cc9ee8fa0c56",
      "parents": [
        "34aae0daade91ccb90a7715bf7d2885223a9f2fc",
        "6abde8b1287e4d25c89a85c40407eb26dd13d8a1"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 21 11:59:28 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 21 11:59:28 2018 +0000"
      },
      "message": "Merge \"Add API WebView.getWebViewLooper()\" into pi-dev"
    },
    {
      "commit": "a553477ddf55d170a66410ed325ae5e5d3005965",
      "tree": "b85aafbcf2b3ed1640fe3cb6e59262cdc710ed3c",
      "parents": [
        "6a505e2dab3bfb46108e5f30c1ec8d4d4b7db817"
      ],
      "author": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Thu Mar 15 00:22:20 2018 -0700"
      },
      "committer": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Tue Mar 20 22:22:30 2018 -0700"
      },
      "message": "Make PrecomputedText Spannable for supporting selection\n\nThis is 2nd attempt of I072dfd70b9a687d9c47e310d8cdb34f988fbb32e\n\nThe root cause of crashing is unexpected copying of NoCopySpan by\nSpannableString constructor. To prevent crashing, stop copying\nNoCopySpan by passing ignoreNoCopySpan\u003dtrue to SpannableString\ncopy constructor.\n\nThe original commit message is following:\n\nTo support selectable TextView, make PrecomputedText spannable.\nBy this change, TextView start using DynamicLayout instead of\nStaticLayout. DynamicLayout requires boundary rectangle of the\ntext, so this CL also adds getBounds method to PrecomputedText\nwhich retrieves measured boundary box from native.\n\nBy this change, the selectable TextView performance for the\nprecomputed text 10x faster. On the other hand, the performacne\nfor the non-selectable text gets 2.5x slower. However, we concluded\nthat we accept this performance regression since it still 10 times\nfaster than non precomputed text.\n\nHere is a precomputed text performance result of TextView.\nandroid.widget.TextViewPrecomputedTextPerfTest:\n  newLayout_PrecomputedText           :    736,130 -\u003e  1,648,694: (+124.0%)\n  newLayout_PrecomputedText_Selectable: 17,379,765 -\u003e  1,700,146: (-90.2%)\n  onDraw_PrecomputedText              :  1,274,921 -\u003e  1,848,076: (+45.0%)\n  onDraw_PrecomputedText_Selectable   : 17,367,238 -\u003e  1,399,169: (-91.9%)\n  onMeasure_PrecomputedText           :    752,875 -\u003e  1,766,606: (+134.6%)\n  onMeasure_PrecomputedText_Selectable: 17,647,842 -\u003e  1,810,704: (-89.7%)\n  setText_PrecomputedText             :     92,894 -\u003e    135,471: (+45.8%)\n  setText_PrecomputedText_Selectable  :    145,134 -\u003e    215,757: (+48.7%)\n\nBug: 72998298\nTest: atest CtsWidgetTestCases:EditTextTest\n    CtsWidgetTestCases:TextViewFadingEdgeTest\n    FrameworksCoreTests:TextViewFallbackLineSpacingTest\n    FrameworksCoreTests:TextViewTest FrameworksCoreTests:TypefaceTest\n    CtsGraphicsTestCases:TypefaceTest CtsWidgetTestCases:TextViewTest\n    CtsTextTestCases FrameworksCoreTests:android.text\n    CtsWidgetTestCases:TextViewPrecomputedTextTest\n\nChange-Id: Ie98c75d8b4ba962eaf0a544357b2ff1ade891118\n"
    },
    {
      "commit": "6ed6340e3cd43fc111fb4916b380da61eba834c4",
      "tree": "0e8878fde93cf3ab28f74b9024409851868c956d",
      "parents": [
        "efcd6e1ceb5363f37f49569f93e9ae9cfd20ddc2",
        "7e25b3d9155343c6ee227499a5c29f42ae9d791c"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 21 03:27:56 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 21 03:27:56 2018 +0000"
      },
      "message": "Merge changes from topic \"SoundTriggerJobService-steps\" into pi-dev\n\n* changes:\n  Throttle number of sound trigger operations / day\n  Add SoundTriggerDetectionService\n  Expose SoundTriggerManager and SoundTrigger APIs\n"
    },
    {
      "commit": "daec95a7f50d1227dd7129342ae667f0b5d30553",
      "tree": "202d2ee02ef67008364d24beed0ab3961a0d985e",
      "parents": [
        "dbad69dd42d76592288c80b0718baee669486dd9",
        "6d1009f882f1b0234e77ec3bb583a58090bfff39"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 21 02:31:19 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 21 02:31:19 2018 +0000"
      },
      "message": "Merge \"Get current and default brightness configs.\" into pi-dev"
    },
    {
      "commit": "ffb6521082ee2571f6003e9a11d6602089b49f52",
      "tree": "5f4674c804a0913556b8fc6135da80cffd4fa6d7",
      "parents": [
        "db0e4f1d733392f5e7fca335d51cc17b6c7a23fb",
        "6c8512978af64592305e967c838d1b22d348e297"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 21 01:04:15 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 21 01:04:15 2018 +0000"
      },
      "message": "Merge \"heif: address api review comments\" into pi-dev"
    },
    {
      "commit": "6c0f42b3b53418cbe292263c40f6a724d932968f",
      "tree": "e4de770c97595dc0e6176ed98ac65350abc535c1",
      "parents": [
        "5d5d6aa28aa724bd5096037fea4a759d6e35bc30",
        "5a20a5ed2f67f8bc829a50a5ce03e56a50323831"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 20 23:38:36 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 20 23:38:36 2018 +0000"
      },
      "message": "Merge \"Ability to hide/unhide suspended app notifications\" into pi-dev"
    },
    {
      "commit": "5d5d6aa28aa724bd5096037fea4a759d6e35bc30",
      "tree": "c9a5c616f2d4440776ca3aa4738c50a610def9fb",
      "parents": [
        "764f123b97b77bc818d1500eb6167b3e1bc3997b",
        "7e1298f1a4122490d8fd9e587e65134161dd7154"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 20 23:38:10 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 20 23:38:10 2018 +0000"
      },
      "message": "Merge \"Better javadoc and rename several methods in ApnSetting.\" into pi-dev"
    },
    {
      "commit": "bbebf8feb49a1e227a2debd45ffff4731ae4a51f",
      "tree": "feabaed44f30eb18d5136df96ea4d13249b728b7",
      "parents": [
        "ad7415f11ee8b38ba49c41745f49a8ed1caa28cb"
      ],
      "author": {
        "name": "Holly Jiuyu Sun",
        "email": "jiuyu@google.com",
        "time": "Tue Mar 13 17:20:07 2018 -0700"
      },
      "committer": {
        "name": "Holly Jiuyu Sun",
        "email": "jiuyu@google.com",
        "time": "Tue Mar 20 16:31:59 2018 -0700"
      },
      "message": "Mark eraseSubscriptions as @SystemApi.\n\nThis is a blocker for P.\n\nBug: 74621500\nTest: test on phone\nMerged-In: I9455a0b7594cbd2acbdbba99a725c9866c448a07\nChange-Id: I9455a0b7594cbd2acbdbba99a725c9866c448a07\n"
    },
    {
      "commit": "c8f63060adc880eb6cfdee1e08cafcf2f379096a",
      "tree": "2ebee0c759b49e97b21dbea56c1bb3f9f84b43c7",
      "parents": [
        "da4b0c65a5cbebf6c5e66b869b75dd3a6625cd2e"
      ],
      "author": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Tue Mar 20 12:26:10 2018 -0700"
      },
      "committer": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Tue Mar 20 16:01:28 2018 -0700"
      },
      "message": "Expose add/removeAddress for IpSecInterfaces\n\nWhen exposing the APIs, these were missed.\nThe outer structure is exposed, so this exposes\nthe addAddress and removeAddress methods.\n\nBug: 75234273\nTest: compilation\nMerged-In: I79911434f9baa660e4d8564cc59d80da4a710c42\nChange-Id: I79911434f9baa660e4d8564cc59d80da4a710c42\n(cherry picked from commit a83601a511c3f11470109d78d1a736acdb9c6bd8)\n"
    },
    {
      "commit": "b8651f6fba3afa7501c4e6924f0324159f64a9c9",
      "tree": "774973e53ca6c328cf9f49237c79dadcd7b170cd",
      "parents": [
        "60b877fa8c8c823bcfdb228d847eb1f87f6d4521",
        "d60a07f022404f9b7c67f07d02144443807b3688"
      ],
      "author": {
        "name": "Jiuyu Sun",
        "email": "jiuyu@google.com",
        "time": "Tue Mar 20 22:53:31 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 20 22:53:31 2018 +0000"
      },
      "message": "Merge \"Mark eraseSubscriptions as @SystemApi.\" into pi-dev"
    },
    {
      "commit": "1486849e8b8c5e26de847cdb343d166cd647d63c",
      "tree": "c43af4a3a61845aafdf8f2e2d7a34aefa4f77165",
      "parents": [
        "cf06ca0ec4107f53d86ee7baeb78e9332d6bd2f2",
        "915f5041bbf9e82d30dbf5718aa4ba96823a4605"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Mar 20 21:58:15 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 20 21:58:15 2018 +0000"
      },
      "message": "Merge \"Camera2: Deprecate LENS_RADIAL_DISTORTION, add LENS_DISTORTION\" into pi-dev"
    },
    {
      "commit": "5a20a5ed2f67f8bc829a50a5ce03e56a50323831",
      "tree": "0b482253f2628132aafbf0f23ee049a073e4d294",
      "parents": [
        "1c7c2bdd0be30eb2dfebf1ebf4c354fe228b533f"
      ],
      "author": {
        "name": "Beverly",
        "email": "beverlyt@google.com",
        "time": "Tue Mar 06 15:02:44 2018 -0500"
      },
      "committer": {
        "name": "Beverly",
        "email": "beverlyt@google.com",
        "time": "Tue Mar 20 17:40:36 2018 -0400"
      },
      "message": "Ability to hide/unhide suspended app notifications\n\nTest: NotificationListenerVerifierActivity.java\nTest: atest NotificationDataTest NotificationListenerServiceTest NotificationManagerServiceTest\nBug: 73965645\nChange-Id: I49a02e9fd84dfaa1891437a5d8fc52109a43cded\n"
    },
    {
      "commit": "1c7c2bdd0be30eb2dfebf1ebf4c354fe228b533f",
      "tree": "1d18d34a03519afb7997cb81bde1688e1ee7c168",
      "parents": [
        "06ce5f6803c65bb69f2961ba4e917b57da45058b",
        "7217dc9f769ccb6e4351011ea9887871c2a4ffb4"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 20 21:34:01 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 20 21:34:01 2018 +0000"
      },
      "message": "Merge \"Log visual interruptions to usagestats.\" into pi-dev"
    },
    {
      "commit": "06ce5f6803c65bb69f2961ba4e917b57da45058b",
      "tree": "2ecc4a1c6a30d26af6f4658997b38545f1e8d2e7",
      "parents": [
        "651667cea110fe4278bbbca8c6819fb4a9e7798f",
        "f0acb024331a0f4062a57ceef7e58c919a64d880"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 20 21:31:58 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 20 21:31:58 2018 +0000"
      },
      "message": "Merge \"Make SYSTEM_INTERACTION a SystemApi\" into pi-dev"
    },
    {
      "commit": "18e3eb816887156f40def1c14db434ddde9ec245",
      "tree": "eb89c3addc9bac983b9d4fb1138ebe4de5fcc52a",
      "parents": [
        "a5fd0294c76c1faa3479a2093ae3e5f0838791ad"
      ],
      "author": {
        "name": "Philip P. Moltmann",
        "email": "moltmann@google.com",
        "time": "Fri Mar 09 16:55:55 2018 -0800"
      },
      "committer": {
        "name": "Philip P. Moltmann",
        "email": "moltmann@google.com",
        "time": "Tue Mar 20 13:57:14 2018 -0700"
      },
      "message": "Add SoundTriggerDetectionService\n\nThe service is meant to replace the PendingIntent based API. Once all\nusers of the PendingIntent based API switched the PendingIntent based API\nwill be removed.\n\nTo have as little as possible impact on the whole SoundTrigger framework\nthe RemoteSoundTriggerDetectionService class implements the same\ninterface as the PendingIntent based class. Hence the exising code has\nvery little change. Further once the old code can be removed the amount\nof changed (and added) code is limited.\n\nThe RemoteSoundTriggerDetectionService -\u003e SoundTriggerDetectionService\nis a vanilla as possible service implementation. The special behaviors\nare:\n- The system holds a wakelock while service operations are in progress\nand the service is bound as foreground. Hence the service can e.g.\nlisten to the microphone.\n- Service operations have a certain amount of time they are allowed to\nrun. Once every operation is either finished or the the operation\nexceeded the allotted time, the system calls onStopOperation for each\nstill pending operation. This is a similar model as for the commonly\nused JobService.\n  Please note that if the time allowed for an operation is 15s and\nop1 was run as 0si, and op1 was run at 5s, the service is allowed to run\nuntil 20s. Hence _both_ onStopOperations will happen at 20s. This is\ndone for ease of implementation but should not give the service more\npower than calling onStopOperation exactly 15s after each operation is\ntriggered.\n- If an operation is done before the allotted time is reached, the\nservice can declare the operation as finished manually by calling\nonOperationFinished. This is a call back into the system, hence a\n\u0027client\u0027 binder is sent to the service. If the operation is finished\nby calling this method onStopOperation will not be called.\n- As the service instance might be killed and restored between\noperations we add a opaque bundle \u0027params\u0027 to each operations. The users\nof the API can use this to send data from the start command to the\noperations. It can also just be set to null. The params are not meant to\nstore changing state in between operations. Such state needs to be\npersisted using the regular methods (e.g. write it to disk)\n- A service can be used for multiple recognition sessions. Each\nrecognition is uniquelity defined by its sound model UUID. Hence each\noperation gets at least tree arguments: Operation ID, sound mode UUID, params\n- As a small optimization the params are cached inside of the service\ninstance.\n\nThe time allowed for each operation is in a @SystemAPI global setting,\nso the service can make sure it finishes the operations before they are\nstopped. It might take some time to deliver the operations via the\nbinder, hence it is not recommended to try to use every last ms of\nallotted time.\n\nTest: atest SoundTriggerDetectionServiceTest (added in separate CL)\n      atest android.provider.SettingsBackupTest\nChange-Id: I47f813b7a5138a6f24732197813a605d29f85a93\nFixes: 73829108\n"
    },
    {
      "commit": "a5fd0294c76c1faa3479a2093ae3e5f0838791ad",
      "tree": "6bed7e39614da1a36a94361aebfc1e9d4e4a5b97",
      "parents": [
        "c863d506cfb0df24f8a5291a3ae33434e75f014d"
      ],
      "author": {
        "name": "Philip P. Moltmann",
        "email": "moltmann@google.com",
        "time": "Tue Mar 06 13:44:07 2018 -0800"
      },
      "committer": {
        "name": "Philip P. Moltmann",
        "email": "moltmann@google.com",
        "time": "Tue Mar 20 13:57:14 2018 -0700"
      },
      "message": "Expose SoundTriggerManager and SoundTrigger APIs\n\nThese APIs require a system permissions, hence SystemAPI.\n\nAs SoundTrigger is now partially SystemApi and partially internal API a\nlot of @hide tags are needed to keep hiding the still internal classes,\nfields and methods. As SoundTrigger is heavily used via reflection no\nstructural change to this class can be made.\n\nThe MANAGE_SOUND_TRIGGER permission should be visible to the apps as\nthe apps need to know which permission to request in their manifest.\nIf it wouldn\u0027t be exposed it would just be a magic string.\n\nTest: built\nChange-Id: Ic93d67639e2605c26c961acdd827c14cb0a68f47\nBug: 73829108, 71981721\n"
    },
    {
      "commit": "106387f0b283beeb5318f05e2033f15798e274b3",
      "tree": "7dd36d139bc94a6bcf7262f4dacd8c6590d1b214",
      "parents": [
        "51d2cc45d8a7efac4e83303737ee8168fc161291"
      ],
      "author": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Tue Mar 06 16:32:28 2018 -0500"
      },
      "committer": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Tue Mar 20 16:55:47 2018 -0400"
      },
      "message": "Some Slices API refinement\n\nRemoving overloads, fixing documentation, adding stringdefs, etc.\n\nTest: update-api\nChange-Id: Iae902092a29d44c3f4735ad2c3392bb35988684a\nFixes: 73124159\nBug: 73123366\nFixes: 73123451\nFixes: 73123651\nFixes: 73124123\n"
    },
    {
      "commit": "6abde8b1287e4d25c89a85c40407eb26dd13d8a1",
      "tree": "4a55d2494e67d5efda59d60825dde7bde059b606",
      "parents": [
        "039deb4390fee97d50c474202dfe5de0616f9772"
      ],
      "author": {
        "name": "Gustav Sennton",
        "email": "gsennton@google.com",
        "time": "Thu Mar 15 13:56:03 2018 +0000"
      },
      "committer": {
        "name": "Gustav Sennton",
        "email": "gsennton@google.com",
        "time": "Tue Mar 20 20:39:52 2018 +0000"
      },
      "message": "Add API WebView.getWebViewLooper()\n\nWe want to rename WebView.getLooper() to contrast it better with the\nunrelated method WebView.getHandler(). For now we just create a method\nto replace WebView.getLooper(), so that we can remove references to\nWebView.getLooper() before removing it.\n\nBug: 74831609\nTest: make\nChange-Id: I8e493a67aa078f9c8ceea6706dc940abacfdd6e6\n"
    },
    {
      "commit": "a83601a511c3f11470109d78d1a736acdb9c6bd8",
      "tree": "274330d4a44c480ea1584a01c2a92bca28d35abb",
      "parents": [
        "448003fc491d191e3d0f6fc96ee67293f7b1dc8e"
      ],
      "author": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Tue Mar 20 12:26:10 2018 -0700"
      },
      "committer": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Tue Mar 20 12:32:20 2018 -0700"
      },
      "message": "Expose add/removeAddress for IpSecInterfaces\n\nWhen exposing the APIs, these were missed.\nThe outer structure is exposed, so this exposes\nthe addAddress and removeAddress methods.\n\nBug: 75234273\nTest: compilation\nChange-Id: I79911434f9baa660e4d8564cc59d80da4a710c42\n"
    },
    {
      "commit": "cfa85917798b3b96b49a6c7c9a13bf0e0876f044",
      "tree": "30f11237381fef2544904c0ebc7574abffc6da23",
      "parents": [
        "3785417848f95c24d2095daeaed0d1cb6b04fb35",
        "71e4c9bfade54977b98eb6c68f01100c074b0329"
      ],
      "author": {
        "name": "Amit Mahajan",
        "email": "amitmahajan@google.com",
        "time": "Tue Mar 20 19:27:10 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 20 19:27:10 2018 +0000"
      },
      "message": "Merge \"Revert \"TelephonyManager System APIs process\"\" into pi-dev"
    },
    {
      "commit": "7217dc9f769ccb6e4351011ea9887871c2a4ffb4",
      "tree": "cd4c7a38f9f5a7f39046394c76ce8cd985d4ea16",
      "parents": [
        "51d2cc45d8a7efac4e83303737ee8168fc161291"
      ],
      "author": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Wed Mar 07 12:12:09 2018 -0500"
      },
      "committer": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Tue Mar 20 15:14:16 2018 -0400"
      },
      "message": "Log visual interruptions to usagestats.\n\nTest: runtest systemui-notification, cts\nBug: 74318867\nChange-Id: I6233240c2a7940225cadde0258b5d7ba88b86aaf\n"
    },
    {
      "commit": "7e1298f1a4122490d8fd9e587e65134161dd7154",
      "tree": "45692ac11c4742a12c4ea469c70c81b7f7fdc2d5",
      "parents": [
        "8cf1ae492877182fe37aca4237f67fb0634047fb"
      ],
      "author": {
        "name": "yuemingw",
        "email": "yuemingw@google.com",
        "time": "Thu Mar 01 14:42:57 2018 +0000"
      },
      "committer": {
        "name": "yuemingw",
        "email": "yuemingw@google.com",
        "time": "Tue Mar 20 18:15:25 2018 +0000"
      },
      "message": "Better javadoc and rename several methods in ApnSetting.\n\nTest: runtest -x frameworks/base/services/tests/servicestests/src/com/android/server/devicepolicy/DevicePolicyManagerTest.java\nrun cts --module CtsDevicePolicyManagerTestCases --test com.android.cts.devicepolicy.DeviceOwnerTest#testOverrideApn\n\nBug: 73087996\nChange-Id: I5232c92a44ab505946956f81965a205f170aa52b\n"
    },
    {
      "commit": "6446ed4a0f551b855474b34d7e6677120af943be",
      "tree": "7aa1fcf0db4a81637f79a40937287fa00e34735f",
      "parents": [
        "e1671a5c744193d74d009de3c706d733b27a285e",
        "9d8ce74a631b44d4f07878d7fec5e5fa076f1e17"
      ],
      "author": {
        "name": "Chris Wren",
        "email": "cwren@android.com",
        "time": "Tue Mar 20 17:33:40 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 20 17:33:40 2018 +0000"
      },
      "message": "Merge \"support framework logging for slices\" into pi-dev"
    },
    {
      "commit": "c6d6f55ec4850642bb80d42a4f7165ff07d2a0fe",
      "tree": "4ba3327b19ae7dc84ca3ddb23ec680342d4859eb",
      "parents": [
        "7a4a3599128478fa930b0a623130157a4def9412",
        "14a8b1e318073b1608499195477b51b4723e74e6"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 20 17:23:59 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 20 17:23:59 2018 +0000"
      },
      "message": "Merge \"NfcAdapter.EXTRA_SE_NAME -\u003e NfcAdapter.EXTRA_SECURE_ELEMENT_NAME\" into pi-dev"
    },
    {
      "commit": "71e4c9bfade54977b98eb6c68f01100c074b0329",
      "tree": "820095243f38eb5e43cbe5bc57f5275ed7dc4bfe",
      "parents": [
        "2f398567532dee2764d85496f9f56cbce287c96d"
      ],
      "author": {
        "name": "Amit Mahajan",
        "email": "amitmahajan@google.com",
        "time": "Tue Mar 20 16:18:36 2018 +0000"
      },
      "committer": {
        "name": "Amit Mahajan",
        "email": "amitmahajan@google.com",
        "time": "Tue Mar 20 16:21:39 2018 +0000"
      },
      "message": "Revert \"TelephonyManager System APIs process\"\n\nThis reverts commit 2f398567532dee2764d85496f9f56cbce287c96d.\n\nReason for revert: b/75998747\n\nBug: 75998747\nMerged-in: I4a98388c732249ce2aaf05a57c3a98c15f4bd4b3\nChange-Id: I35569102bc311162c3d3550fadb6b4307dbe3af1\n"
    },
    {
      "commit": "51d2cc45d8a7efac4e83303737ee8168fc161291",
      "tree": "988e83d720e133b93d76e3993051f408a5073b77",
      "parents": [
        "a382a8e668445e51aa2f035aedccb91edd1503be",
        "121ef98bfb0e34a2726dd0fb9112915017bfcde4"
      ],
      "author": {
        "name": "Leon Scroggins",
        "email": "scroggo@google.com",
        "time": "Tue Mar 20 14:33:43 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 20 14:33:43 2018 +0000"
      },
      "message": "Merge \"Add an asset source for ImageDecoder\" into pi-dev"
    },
    {
      "commit": "a382a8e668445e51aa2f035aedccb91edd1503be",
      "tree": "d4eb708ce0f4227a169efd9b201e32392e7a5a6f",
      "parents": [
        "2034c837b2c76d224b8ad2cf34f21a51b7cef3d7"
      ],
      "author": {
        "name": "Peter Visontay",
        "email": "pvisontay@google.com",
        "time": "Fri Mar 16 16:06:57 2018 +0000"
      },
      "committer": {
        "name": "Peter Visontay",
        "email": "pvisontay@google.com",
        "time": "Tue Mar 20 14:25:12 2018 +0000"
      },
      "message": "Add missing \"android:\" prefix to some app op constants.\n\nBug: 75253734\nTest: none\nChange-Id: Ie91b4bee938b9c834c2cb3c831e3473fab0f534c\n"
    },
    {
      "commit": "46c0e91b74fbddf0031175ec855b11a12581fe11",
      "tree": "b434a9020a7ff38f016d736e4f57ad951a4dad2f",
      "parents": [
        "c45c2d65a58d1dfc64bc8532f33bd7b6c8e42f86",
        "015288241edac0f87929774b35b3aa06fc6bb911"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Mar 19 22:15:11 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 19 22:15:11 2018 +0000"
      },
      "message": "Merge \"Removing the settings-based IncidentReportArgs method.\" into pi-dev"
    },
    {
      "commit": "83c4690f5504a5c0c8ff16f7669d56d08348e028",
      "tree": "a1a85a215aa7e71b73088bd1eaba1ab34cf7f680",
      "parents": [
        "2594933301b40109f3028df0c4bd47daa5a95cf7",
        "bde1397db805a03388de4936a8647a9e4f5ecd30"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Mar 19 22:02:58 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 19 22:02:58 2018 +0000"
      },
      "message": "Merge \"Camera2: Use Set for physical camera IDs\" into pi-dev"
    },
    {
      "commit": "fa38f238b1f35195fcef8ec7a66f3151c7c9f660",
      "tree": "1bedb74bde3c89bb85be557cd4d582f9b35994e1",
      "parents": [
        "96e680cb90594c5bae1625a3ea6009fd9ea02f16",
        "8709ba863eeef0166a1ed2139aa066498eb42ba5"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Mon Mar 19 21:09:01 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 19 21:09:01 2018 +0000"
      },
      "message": "Merge \"Add factory methods for async Handlers\" into pi-dev"
    },
    {
      "commit": "96e680cb90594c5bae1625a3ea6009fd9ea02f16",
      "tree": "f17371e120a88bb4b9278b483f5341bd2d6e88d7",
      "parents": [
        "0c46d7b57ffc30d5a7c6d743496350443131331c",
        "c1a3a0d780e37e7c061bc94ae19fe4a6010c583e"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Mar 19 21:04:39 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 19 21:04:39 2018 +0000"
      },
      "message": "Merge \"Small fixes to StatsManager API.\" into pi-dev"
    },
    {
      "commit": "f0aeb0578e2283081cc2e755661b8f92d7233599",
      "tree": "09fda671d48f3f3b213ffcb0a10087570dc7cad3",
      "parents": [
        "dba47fcd09a50bdddcf6509d0766dfca3a5d39a7",
        "2f398567532dee2764d85496f9f56cbce287c96d"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Mar 19 20:55:18 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 19 20:55:18 2018 +0000"
      },
      "message": "Merge \"TelephonyManager System APIs process\" into pi-dev"
    },
    {
      "commit": "9d8ce74a631b44d4f07878d7fec5e5fa076f1e17",
      "tree": "dfdf58933ff1100062c277d66add1bc75d1bbdfa",
      "parents": [
        "b57365562da470eb9043f96e252082130789dbbf"
      ],
      "author": {
        "name": "Chris Wren",
        "email": "cwren@google.com",
        "time": "Mon Mar 19 10:58:41 2018 -0400"
      },
      "committer": {
        "name": "Chris Wren",
        "email": "cwren@google.com",
        "time": "Mon Mar 19 15:56:00 2018 -0400"
      },
      "message": "support framework logging for slices\n\nBug: 74354980\nTest: runtest systemui\nChange-Id: I0c7b398b1a077bc525f50c01d1065be2282a1809\n"
    },
    {
      "commit": "d65f5ed038a4d1b0d76923851e7d9d681d8bebcb",
      "tree": "d3e07b98b022d5d4d399d1187576be1bb2c29b4f",
      "parents": [
        "a90868c52571ac6e4cf6ca0c93ee349faf336e8c",
        "1eccac89c13a79671e04cfce359a9506b284d5fe"
      ],
      "author": {
        "name": "Leon Scroggins",
        "email": "scroggo@google.com",
        "time": "Mon Mar 19 19:28:09 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 19 19:28:09 2018 +0000"
      },
      "message": "Merge \"Add ImageDecoder.Source for resources\" into pi-dev"
    },
    {
      "commit": "b3aec698e8bc5e0f40189544b46ea68e318479a1",
      "tree": "9bf4f8ebc46da64040f094fce4b80930d2772bca",
      "parents": [
        "ba9e18c2a8c28b4f328629f443b44c27f2c999b0",
        "e887f4d2c18040276ee230fdd3dadaa6610a188e"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Mar 19 19:02:34 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 19 19:02:34 2018 +0000"
      },
      "message": "Merge \"Revert \"Make PrecomputedText Spannable for supporting selection\"\" into pi-dev"
    },
    {
      "commit": "2f398567532dee2764d85496f9f56cbce287c96d",
      "tree": "b48723dc874da26f6e2d6e0f9a44669db6bd7802",
      "parents": [
        "dbeb6bc3f14d51cfee7b16214c348e2824a9d5ef"
      ],
      "author": {
        "name": "sqian",
        "email": "shuoq@google.com",
        "time": "Thu Mar 08 17:03:35 2018 -0800"
      },
      "committer": {
        "name": "sqian",
        "email": "shuoq@google.com",
        "time": "Mon Mar 19 11:35:36 2018 -0700"
      },
      "message": "TelephonyManager System APIs process\n\n- lock down some TelephonyManager APIs with system permission\n- deprecate some TelephonyManager APIs due to its equivalents\n- introduce an aidl interface that handles the current\ngetPhoneType() functions\n\nThe doc: https://docs.google.com/spreadsheets/d/1OJ6EXJ-Zys21mZ1BHgJeWkcfLq0pPxBR765r46ck80U/edit#gid\u003d0\n\nBug: 62346128\nTest: Compile\nChange-Id: I5367372f3304e5ad368d0d4775f6e96168243aa3\nMerged-In: I5367372f3304e5ad368d0d4775f6e96168243aa3\n(cherry picked from commit 3b991aee47d7c46c7ae708636e268b0c7709b3e2)\n"
    },
    {
      "commit": "bde1397db805a03388de4936a8647a9e4f5ecd30",
      "tree": "c7d493249057bac0cb14e8a0aadad48de804cf7f",
      "parents": [
        "16e56f7815ae3e2b2d3fa472a69ee4e46cfbb56b"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Mon Mar 19 10:30:45 2018 -0700"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Mon Mar 19 10:51:45 2018 -0700"
      },
      "message": "Camera2: Use Set for physical camera IDs\n\nBecause physical camera IDs are not ordered, use Set instead.\n\nTest: Camera CTS\nBug: 74838822\nChange-Id: I2ca73ba42f4517283f4c0048f9369498b11eea66\n"
    },
    {
      "commit": "c1a3a0d780e37e7c061bc94ae19fe4a6010c583e",
      "tree": "00cb54ce534272a1ee6b8f7046653d36ea8f3bc9",
      "parents": [
        "02a4219cb7ff9ad848456903ac939f019d2161fc"
      ],
      "author": {
        "name": "David Chen",
        "email": "dwchen@google.com",
        "time": "Wed Feb 21 18:58:23 2018 -0800"
      },
      "committer": {
        "name": "David Chen",
        "email": "dwchen@google.com",
        "time": "Mon Mar 19 10:26:51 2018 -0700"
      },
      "message": "Small fixes to StatsManager API.\n\nAdds some annotations, deletes an unused API method, and adds some\ncomments.\n\nTest: Flashed onto marlin-eng and verified there are no crashes.\nBug: 72562867\nChange-Id: I6c93ee4aeeacf6842795256c76551cfb1c28888d\n"
    },
    {
      "commit": "7c8a877231998c5a8adf729248640a669d123fe5",
      "tree": "0a7cfc0ca588cc84029084f0ba0801dd6933cdd6",
      "parents": [
        "2446a10799019d132eb16719cde141c84f3c05e1",
        "5c60d71efbad23feff2416f4c8065ef1155c5fe5"
      ],
      "author": {
        "name": "Tyler Gunn",
        "email": "tgunn@google.com",
        "time": "Mon Mar 19 17:15:58 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 19 17:15:58 2018 +0000"
      },
      "message": "Merge \"Rename handover failure constant per API review comments.\""
    },
    {
      "commit": "e887f4d2c18040276ee230fdd3dadaa6610a188e",
      "tree": "71f36d33d1dcdd90af72f266efd2c31bac1b89b5",
      "parents": [
        "80ed5a35a90b62b8070d861b9755e230bd679951"
      ],
      "author": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Mon Mar 19 17:04:30 2018 +0000"
      },
      "committer": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Mon Mar 19 17:04:30 2018 +0000"
      },
      "message": "Revert \"Make PrecomputedText Spannable for supporting selection\"\n\nCrash on Sheets APp\nThis reverts commit 80ed5a35a90b62b8070d861b9755e230bd679951.\n\nBug: 75652829\nChange-Id: I40ddd1b9754e74fbd90d7a029cce9c6a7ede0777\nTest: Manual\n"
    },
    {
      "commit": "121ef98bfb0e34a2726dd0fb9112915017bfcde4",
      "tree": "c109b78376dcf98ad9e8bd27aadfd361c40ff34a",
      "parents": [
        "1eccac89c13a79671e04cfce359a9506b284d5fe"
      ],
      "author": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Fri Mar 16 15:40:54 2018 -0400"
      },
      "committer": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Mon Mar 19 13:01:57 2018 -0400"
      },
      "message": "Add an asset source for ImageDecoder\n\nBug: 74545298\nTest: I6a633553bbb5ff26d84aaf5371b8b43a770afd4f\n\nThis allows using ImageDecoder to decode a file in the \"assets\"\ndirectory of an app.\n\nChange-Id: I2193f052cc2e16c55c7f68f7e51e07cd24ee4df9\n"
    },
    {
      "commit": "1eccac89c13a79671e04cfce359a9506b284d5fe",
      "tree": "ebc4dad7a88fb1d6fa3bf3f0840887a22c039bc4",
      "parents": [
        "bf190fd9641cd3ad76bc7bb289b4a3de83d0335a"
      ],
      "author": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Fri Mar 16 15:04:04 2018 -0400"
      },
      "committer": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Mon Mar 19 13:01:52 2018 -0400"
      },
      "message": "Add ImageDecoder.Source for resources\n\nBug: 74545298\nTest: Ibc283c2e8aee999e951de51f3a43b581a765aaf5\n\nAlthough resources can already be accessed with ContentResolver + URI,\nthis allows a simple method to do the same.\n\nChange-Id: I1bf698f36d5540f6de7cb9957e4223123d0f4331\n"
    },
    {
      "commit": "8709ba863eeef0166a1ed2139aa066498eb42ba5",
      "tree": "c3c633151d37ff70f30ef25b9ff37300f1824e1f",
      "parents": [
        "f8cb545afb8f8ec35c3b028f47247e359a6602db"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Wed Feb 21 10:18:25 2018 -0800"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Mon Mar 19 15:54:13 2018 +0000"
      },
      "message": "Add factory methods for async Handlers\n\nMessage.setAsynchronous is already public and this makes working\nwith posted messages that do not interact with UIs quite a bit nicer.\n\nAdded as factory methods for better integration with support shims\nas well as generally encouraging the use of the handler callback\ninstead of subclassing for working with custom messages.\n\nBug: 73124158\n\nChange-Id: I1210e7dc524fdf771e7af19297d5a822fdbd502c\n"
    },
    {
      "commit": "6d1009f882f1b0234e77ec3bb583a58090bfff39",
      "tree": "92cb2df2f3332d0d6012b9b7970e0044206955a6",
      "parents": [
        "b7ad5e429f7ec16bb0c35e1aed9e0e7a87a78f65"
      ],
      "author": {
        "name": "Kenny Guy",
        "email": "kennyguy@google.com",
        "time": "Wed Mar 14 14:28:23 2018 +0000"
      },
      "committer": {
        "name": "Kenny Guy",
        "email": "kennyguy@google.com",
        "time": "Mon Mar 19 15:05:25 2018 +0000"
      },
      "message": "Get current and default brightness configs.\n\nGetter System API to match existing setter for\nthe bightness configurations.\nGetter System API to read the default brightness\nconfiguration.\n\nBug: 74105596\nTest: atest BrightnessTest\n\nChange-Id: If0a0effad6a4ba6da2e5391dd6bde91dc04bad9c\n"
    },
    {
      "commit": "6389e7bc44885f23e2ed39d8ed6c1a7938242b64",
      "tree": "06d89536f4e87522442e4ffc8f3c891c4f50a283",
      "parents": [
        "e588d6145dfd7171903e2e8c3583ba4904e07394",
        "18c35dfd6169c1f6475a4d961f6cd239c66b88bd"
      ],
      "author": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Sat Mar 17 01:35:20 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Mar 17 01:35:20 2018 +0000"
      },
      "message": "Merge \"Add new semantic Person fields\" into pi-dev"
    },
    {
      "commit": "015288241edac0f87929774b35b3aa06fc6bb911",
      "tree": "019418038896a9b0f8e7d6f1a640c5037a2ceb10",
      "parents": [
        "e588d6145dfd7171903e2e8c3583ba4904e07394"
      ],
      "author": {
        "name": "Kweku Adams",
        "email": "kwekua@google.com",
        "time": "Thu Mar 08 18:58:43 2018 -0800"
      },
      "committer": {
        "name": "Kweku Adams",
        "email": "kwekua@google.com",
        "time": "Fri Mar 16 18:15:46 2018 -0700"
      },
      "message": "Removing the settings-based IncidentReportArgs method.\n\nBug: 72378645\nTest: Flashed device\nChange-Id: Ia12afffed169e1d0201e99887e74398de40c6cf6\n"
    },
    {
      "commit": "a8bb9d255fe933938dab8c7ceec94b4fcd984847",
      "tree": "950caeba2669c34bd777b6a937f5ff4ff6595c24",
      "parents": [
        "3b0450d4a96b8caa24bb2ae0a8d29bfc1ff4e7d3",
        "62ec27e97f68513c5637383fb72de469c5e903c1"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 16 22:40:46 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 16 22:40:46 2018 +0000"
      },
      "message": "Merge \"App Time Limits API in UsageStats\" into pi-dev"
    },
    {
      "commit": "3b0450d4a96b8caa24bb2ae0a8d29bfc1ff4e7d3",
      "tree": "441f2468dbb8fd9d3a334c78003e9ade79d99b69",
      "parents": [
        "6344ffd4c944bab00539cd553c6d8fd6d66a4008",
        "c1742e51378c3ec99a0e5df14dc0c77bcca0d16a"
      ],
      "author": {
        "name": "Aseem Kumar",
        "email": "aseemk@google.com",
        "time": "Fri Mar 16 22:27:37 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 16 22:27:37 2018 +0000"
      },
      "message": "Merge \"Unhide getKey() and importKey() and the whole class of RecoveryController. Added @RequiresPermission(android.permission.RECOVER_KEYSTORE) on all public APIs of RecoveryController.\" into pi-dev"
    },
    {
      "commit": "5b7103ab9790d5000f28f59c00b92933d8592273",
      "tree": "21ce85f271a3e0a51a90706ebbe22fa1459b52fc",
      "parents": [
        "01cef932c804317a84f518e9d4602987f0c2f2e0",
        "46d2bc06d68293b20629c99a29c796639c735a82"
      ],
      "author": {
        "name": "Jack Yu",
        "email": "jackyu@google.com",
        "time": "Fri Mar 16 21:50:19 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 16 21:50:19 2018 +0000"
      },
      "message": "Merge \"Renamed getNetworkId and getSystemId\""
    },
    {
      "commit": "01cef932c804317a84f518e9d4602987f0c2f2e0",
      "tree": "72d4db9568535fbc7cd68485ce6785f3522e86ba",
      "parents": [
        "465fdc2b25af03a8744128c7068cb1dbedafd188",
        "9a33aefd65bdf40c5332a0409dcb1f9d46201fba"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 16 20:12:04 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 16 20:12:04 2018 +0000"
      },
      "message": "Merge \"NfcAdapter.EXTRA_SE_NAME -\u003e NfcAdapter.EXTRA_SECURE_ELEMENT_NAME\""
    },
    {
      "commit": "c1742e51378c3ec99a0e5df14dc0c77bcca0d16a",
      "tree": "37f47804617eeb769214000a83a43dd28630385b",
      "parents": [
        "f836c8940a20e0b3e09f0b6e74375364ca2725c4"
      ],
      "author": {
        "name": "Aseem Kumar",
        "email": "aseemk@google.com",
        "time": "Mon Mar 12 14:34:58 2018 -0700"
      },
      "committer": {
        "name": "Aseem Kumar",
        "email": "aseemk@google.com",
        "time": "Fri Mar 16 13:07:25 2018 -0700"
      },
      "message": "Unhide getKey() and importKey() and the whole class of RecoveryController.\nAdded @RequiresPermission(android.permission.RECOVER_KEYSTORE) on all\npublic APIs of RecoveryController.\n\nBug: 73900159\nTest: adb shell am instrument -w -e package \\\ncom.android.server.locksettings.recoverablekeystore \\\ncom.android.frameworks.servicestests/android.support.test.runner.AndroidJUnitRunner\n\nChange-Id: I1047c038603869307d7a2462a2e5635fcd1c94c2\n"
    },
    {
      "commit": "5c60d71efbad23feff2416f4c8065ef1155c5fe5",
      "tree": "f135e193e46219dab3b75c7f1be00067fb7f9c3e",
      "parents": [
        "790e4f475faee28104aec80d7f93a3ddc7aa7006"
      ],
      "author": {
        "name": "Tyler Gunn",
        "email": "tgunn@google.com",
        "time": "Fri Mar 16 09:53:44 2018 -0700"
      },
      "committer": {
        "name": "Tyler Gunn",
        "email": "tgunn@google.com",
        "time": "Fri Mar 16 12:38:43 2018 -0700"
      },
      "message": "Rename handover failure constant per API review comments.\n\nExpanding EMERG to EMERGENCY.\n\nTest: Build code\nBug: 74831393\nChange-Id: Ib7e6bea84e25b1e1a2ddb154c7ed62f1084a7596\n"
    },
    {
      "commit": "18c35dfd6169c1f6475a4d961f6cd239c66b88bd",
      "tree": "81e4acad161cc4d2101ceb288b52afde6e3d0b29",
      "parents": [
        "4c46fd3167cce7f9fbc2af7a624ba97f17952cac"
      ],
      "author": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Thu Mar 15 08:37:10 2018 -0400"
      },
      "committer": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Fri Mar 16 19:13:51 2018 +0000"
      },
      "message": "Add new semantic Person fields\n\nBug: 74431200\nTest: cts\nChange-Id: I9eda447ae371ef635e9044a13ba7973bd69520ce\n"
    },
    {
      "commit": "f0acb024331a0f4062a57ceef7e58c919a64d880",
      "tree": "98db80d2f92e3ba19595c180bbb16f5a513d673c",
      "parents": [
        "7d17dd7184ce2cdf3dbc0dac6ead40549ef3987b"
      ],
      "author": {
        "name": "Michael Wachenschwanz",
        "email": "mwachens@google.com",
        "time": "Thu Mar 15 20:17:22 2018 -0700"
      },
      "committer": {
        "name": "Michael Wachenschwanz",
        "email": "mwachens@google.com",
        "time": "Fri Mar 16 12:03:20 2018 -0700"
      },
      "message": "Make SYSTEM_INTERACTION a SystemApi\n\nChange-Id: I53f6180b47fcf3d678d447f180f3c60a099cbbf1\nFixes: 74004153\nTest: builds and flashes\n"
    },
    {
      "commit": "46d2bc06d68293b20629c99a29c796639c735a82",
      "tree": "588441bb9f915a990511fabedb87392a0be76df2",
      "parents": [
        "a9c0419010c9c0054f0e3320f3a621174c0d7e01"
      ],
      "author": {
        "name": "Jack Yu",
        "email": "jackyu@google.com",
        "time": "Thu Mar 15 13:51:05 2018 -0700"
      },
      "committer": {
        "name": "Jack Yu",
        "email": "jackyu@google.com",
        "time": "Fri Mar 16 11:07:37 2018 -0700"
      },
      "message": "Renamed getNetworkId and getSystemId\n\n1. Renamed getNetworkId() to getCdmaNetworkId()\n2. Renamed getSystemId() to getCdmaSystemId()\n\nTest: Build\nBug: 74976831\nMerged-In: I2a5fb50a59c3239bd3dca5568991a9dff08839fc\nChange-Id: I2a5fb50a59c3239bd3dca5568991a9dff08839fc\n(cherry picked from commit 2661fac133db49124d2377f49506b12c1a6c9505)\n"
    },
    {
      "commit": "d60a07f022404f9b7c67f07d02144443807b3688",
      "tree": "0fc4ba6ca5cdb90451b6e6c8b84ae2009fc79a85",
      "parents": [
        "889cf2e00dc518bb1436cf6c6b8d75dc80c6e4f3"
      ],
      "author": {
        "name": "Holly Jiuyu Sun",
        "email": "jiuyu@google.com",
        "time": "Tue Mar 13 17:20:07 2018 -0700"
      },
      "committer": {
        "name": "Holly Jiuyu Sun",
        "email": "jiuyu@google.com",
        "time": "Fri Mar 16 10:43:30 2018 -0700"
      },
      "message": "Mark eraseSubscriptions as @SystemApi.\n\nThis is a blocker for P.\n\nBug: 74621500\nTest: test on phone\nChange-Id: I9455a0b7594cbd2acbdbba99a725c9866c448a07\n"
    },
    {
      "commit": "6b4e6a17e93198ffedfb6a447ff49364da9307f3",
      "tree": "78e98b69cb7b07a80208530d8529e214116e0dfd",
      "parents": [
        "21935e0c6f9e6041f4884bc94a1dd69ac1b10ac5",
        "2661fac133db49124d2377f49506b12c1a6c9505"
      ],
      "author": {
        "name": "Jack Yu",
        "email": "jackyu@google.com",
        "time": "Fri Mar 16 17:39:54 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 16 17:39:54 2018 +0000"
      },
      "message": "Merge \"Renamed getNetworkId and getSystemId\" into pi-dev"
    },
    {
      "commit": "71ed54f377e5738cdee0fe520cea77f3723d1829",
      "tree": "9bbb4c9722961253f4eac4424627587f4583ec46",
      "parents": [
        "65e2dda7f8bec81822d5dcafc4c5a0b536cda4e3",
        "80ed5a35a90b62b8070d861b9755e230bd679951"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 16 15:43:46 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 16 15:43:46 2018 +0000"
      },
      "message": "Merge \"Make PrecomputedText Spannable for supporting selection\" into pi-dev"
    }
  ],
  "next": "260f2fa1fe0e439cbbb31b5d6ede3510ed773537"
}
