)]}'
{
  "log": [
    {
      "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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"
    },
    {
      "commit": "62ec27e97f68513c5637383fb72de469c5e903c1",
      "tree": "ce5ceae6a6e2939674f9a6633acdb84a81e19bf5",
      "parents": [
        "200de1cc86c38bc34317c500f808be40baf341d0"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Sun Mar 11 14:42:06 2018 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Thu Mar 15 17:07:28 2018 -0700"
      },
      "message": "App Time Limits API in UsageStats\n\nAllow setting groups of apps to control usage time limits on.\nApplies only to activity time in the foreground.\n\nUpdated UsageStatsTest app to be able to add an observer for\na 30 second timeout across multiple comma separated package\nnames.\n\nBug: 74335821\nTest: atest FrameworksServicesTests:AppTimeLimitControllerTests\n      Install and run frameworks/base/tests/UsageStatsTest\n\nChange-Id: I677c30b4f211f7acf72c9766df3d8c1ac56a4b4e\n"
    },
    {
      "commit": "2661fac133db49124d2377f49506b12c1a6c9505",
      "tree": "5cef02688b9e0e7a5ac80d5d81cfd6dacd565073",
      "parents": [
        "4983ebd9e29c8bfd4eb353147e3a3805f74e9edd"
      ],
      "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": "Thu Mar 15 16:39:19 2018 -0700"
      },
      "message": "Renamed getNetworkId and getSystemId\n\n1. Renamed getNetworkId() to getCdmaNetworkId()\n2. Renamed getSystemId() to getCdmaSystemId()\n\nTest: Build\nBug: 74976831\nChange-Id: I2a5fb50a59c3239bd3dca5568991a9dff08839fc\n"
    },
    {
      "commit": "14a8b1e318073b1608499195477b51b4723e74e6",
      "tree": "f101f457b7b76413865f9d93cb964acfaad03838",
      "parents": [
        "cb7b04a56efa5edb3ce6cea5818ea977fa806a4e"
      ],
      "author": {
        "name": "Ruchi Kandoi",
        "email": "kandoiruchi@google.com",
        "time": "Thu Mar 15 15:15:18 2018 -0700"
      },
      "committer": {
        "name": "Ruchi Kandoi",
        "email": "kandoiruchi@google.com",
        "time": "Thu Mar 15 16:08:29 2018 -0700"
      },
      "message": "NfcAdapter.EXTRA_SE_NAME -\u003e NfcAdapter.EXTRA_SECURE_ELEMENT_NAME\n\nTest: compiles\nBug: 74976874\nChange-Id: Ied783f57078aaa37017cc821adf329ececac74f3\n(cherry picked from commit 9a33aefd65bdf40c5332a0409dcb1f9d46201fba)\n"
    },
    {
      "commit": "6c8512978af64592305e967c838d1b22d348e297",
      "tree": "ee63c71f05e71ebb22cf8ea9834e11da1ed91f3a",
      "parents": [
        "4985fdef8bee4598df89f014a0886be24cd17fdb"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Mar 14 18:56:56 2018 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Mar 15 15:05:29 2018 -0700"
      },
      "message": "heif: address api review comments\n\n- renaming of MediaFormat keys related to grid config\n\n- add methods to MediaMetadataRetriever to get image/frame\n  with default bitmap config\n\n- fix java doc\n\nbug: 74831433\n\nChange-Id: Iec607e615d34bea0620070592e4adcfc04cbccae\n"
    },
    {
      "commit": "80ed5a35a90b62b8070d861b9755e230bd679951",
      "tree": "172e5ec65d36b61c2fbaab870a0f3f5440445b83",
      "parents": [
        "bc20993e4baf90d413374f4d2d74bcc76d758b63"
      ],
      "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": "Thu Mar 15 14:09:08 2018 -0700"
      },
      "message": "Make PrecomputedText Spannable for supporting selection\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\nVerified no effects for other performance metrics:\nandroid.widget.TextViewPrecomputedTextPerfTest:\n  newLayout_RandomText                                  : 16,495,200 -\u003e 16,450,483: (-0.3%)\n  newLayout_RandomText_Selectable                       : 17,482,439 -\u003e 17,534,207: (+0.3%)\n  onDraw_RandomText                                     : 17,224,949 -\u003e 17,228,072: (+0.0%)\n  onDraw_RandomText_Selectable                          : 18,067,397 -\u003e 17,958,235: (-0.6%)\n  onMeasure_RandomText                                  : 16,435,649 -\u003e 16,516,352: (+0.5%)\n  onMeasure_RandomText_Selectable                       : 17,724,819 -\u003e 17,879,508: (+0.9%)\n  setText_RandomText                                    :     11,130 -\u003e     11,259: (+1.2%)\n  setText_RandomText_Selectable                         :     48,900 -\u003e     48,607: (-0.6%)\n\nandroid.text.PrecomputedTextPerfTest:\n  create_NoStyled_Hyphenation                           : 17,695,377 -\u003e 17,660,233: (-0.2%)\n  create_NoStyled_Hyphenation_WidthOnly                 : 17,677,423 -\u003e 17,541,823: (-0.8%)\n  create_NoStyled_NoHyphenation                         :  7,021,486 -\u003e  7,030,069: (+0.1%)\n  create_NoStyled_NoHyphenation_WidthOnly               :  7,045,453 -\u003e  7,067,021: (+0.3%)\n  create_Styled_Hyphenation                             : 12,090,933 -\u003e 12,267,730: (+1.5%)\n  create_Styled_Hyphenation_WidthOnly                   : 12,105,491 -\u003e 12,277,272: (+1.4%)\n  create_Styled_NoHyphenation                           : 11,835,249 -\u003e 11,960,278: (+1.1%)\n  create_Styled_NoHyphenation_WidthOnly                 : 11,871,765 -\u003e 11,912,444: (+0.3%)\n\nandroid.text.StaticLayoutPerfTest:\n  create_PrecomputedText_NoStyled_Balanced_Hyphenation  :    709,839 -\u003e    697,134: (-1.8%)\n  create_PrecomputedText_NoStyled_Balanced_NoHyphenation:    527,671 -\u003e    528,928: (+0.2%)\n  create_PrecomputedText_NoStyled_Greedy_Hyphenation    :    477,259 -\u003e    481,966: (+1.0%)\n  create_PrecomputedText_NoStyled_Greedy_NoHyphenation  :    479,772 -\u003e    482,278: (+0.5%)\n  create_PrecomputedText_Styled_Greedy_NoHyphenation    :    639,322 -\u003e    637,790: (-0.2%)\n  create_RandomText_NoStyled_Balanced_Hyphenation       : 17,123,681 -\u003e 16,989,227: (-0.8%)\n  create_RandomText_NoStyled_Balanced_NoHyphenation     :  7,040,572 -\u003e  7,064,175: (+0.3%)\n  create_RandomText_NoStyled_Greedy_Hyphenation         :  7,000,681 -\u003e  7,002,322: (+0.0%)\n  create_RandomText_NoStyled_Greedy_NoHyphenation       :  6,997,115 -\u003e  6,996,953: (-0.0%)\n  create_RandomText_Styled_Greedy_NoHyphenation         : 11,948,744 -\u003e 12,052,791: (+0.9%)\n  draw_PrecomputedText_NoStyled                         :    543,623 -\u003e    513,741: (-5.5%)\n  draw_PrecomputedText_NoStyled_WithoutCache            :    564,742 -\u003e    541,795: (-4.1%)\n  draw_PrecomputedText_Styled                           :    838,581 -\u003e    837,438: (-0.1%)\n  draw_PrecomputedText_Styled_WithoutCache              :    826,775 -\u003e    850,586: (+2.9%)\n  draw_RandomText_NoStyled                              :    538,162 -\u003e    533,603: (-0.8%)\n  draw_RandomText_NoStyled_WithoutCache                 :  6,401,486 -\u003e  6,424,604: (+0.4%)\n  draw_RandomText_Styled                                :  1,024,683 -\u003e  1,011,575: (-1.3%)\n  draw_RandomText_Styled_WithoutCache                   :  2,733,204 -\u003e  2,722,828: (-0.4%)\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: I072dfd70b9a687d9c47e310d8cdb34f988fbb32e\n"
    },
    {
      "commit": "675db3f2361beb4a24c67b934a7cc3ed265060ce",
      "tree": "f7c918cdf3319b55c4b87e6a95bb32face18f916",
      "parents": [
        "d4803600d35d9730845c25e27b0ab0c1d4bdb2b3",
        "c8ee263d6ef37dae334e83dbe18654cff50d6153"
      ],
      "author": {
        "name": "Antoan Angelov",
        "email": "arangelov@google.com",
        "time": "Thu Mar 15 19:40:13 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 15 19:40:13 2018 +0000"
      },
      "message": "Merge \"Move the support_transfer_ownership_metadata inside the device admin descriptor XML.\" into pi-dev"
    },
    {
      "commit": "49097c0b99c0fda9f5343406d28027a726bb94ee",
      "tree": "be199779c2e3a5e701ef9adf978a4abad2a6f348",
      "parents": [
        "8c55e8c306ceb26c9c177b745ea855ac3e4c1372"
      ],
      "author": {
        "name": "Wyatt Riley",
        "email": "wyattriley@google.com",
        "time": "Thu Mar 15 09:14:43 2018 -0700"
      },
      "committer": {
        "name": "Wyatt Riley",
        "email": "wyattriley@google.com",
        "time": "Thu Mar 15 10:52:12 2018 -0700"
      },
      "message": "GNSS Model Name constant string and comment updates\n\nAddressing API review feedback\nRemoved string, returning Null instead\nUpdated comments\n\nBug: 73951626\nTest: Runs on device w/GnssLogger\nChange-Id: I54d05a7ae000e9ff52ec1f6646f83aed7de81b94\n"
    },
    {
      "commit": "feff6c7d41fe3c78bef976afadc3f9bfcac7fb0e",
      "tree": "43b27b2fbccb78685bc0f09be279cd8ea3aeaf4d",
      "parents": [
        "d06f1a748ebe8853004286be80db7da59901b1ad",
        "386f50e04f6e93894a38951cf9e946e9fa952af8"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Mar 15 13:27:30 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 15 13:27:30 2018 +0000"
      },
      "message": "Merge \"Add IMS#BACK_DISPOSITION_ADJUST_NOTHING\" into pi-dev"
    },
    {
      "commit": "5d9617c439d0f85b67ba0d21e43f665ab9bf13ae",
      "tree": "1fc134c6150743665b53b29515c826bfe5ae1c4d",
      "parents": [
        "75a3173245ac35f97dbb3e931ab5d2f4cfda5b5a",
        "aa90e8781fd9390f547f3346d34ebbe158415ade"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Mar 15 03:00:46 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 15 03:00:46 2018 +0000"
      },
      "message": "Merge \"Add notification category: CATEGORY_NAVIGATION; Add @SystemApi @hide notification categories: CATEGORY_CAR_EMERGENCY, CATEGORY_CAR_WARNING, and CATEGORY_CAR_INFORMATION.\" into pi-dev"
    },
    {
      "commit": "dbeb6bc3f14d51cfee7b16214c348e2824a9d5ef",
      "tree": "820095243f38eb5e43cbe5bc57f5275ed7dc4bfe",
      "parents": [
        "120f350719142485f43a64557ea570504a81d93e",
        "8f1a910ad8fa4dc2867de1c2badcdb6ad37cb9e6"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Mar 15 02:11:46 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 15 02:11:46 2018 +0000"
      },
      "message": "Merge \"WifiConfiguration: Undeprecate WPA_PSK\" into pi-dev"
    },
    {
      "commit": "b33cef07f27afe00f4db54215af02f7f58bfffde",
      "tree": "65baaea59d028d22b7fd91d811be05552b502c97",
      "parents": [
        "c6556e7cb6717ec015dbe95d9b5bc41efbcc77a6",
        "4e12de81b86f1f77bb5fe2864250c2ceda307f81"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Mar 15 01:08:33 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 15 01:08:33 2018 +0000"
      },
      "message": "Merge \"Unhiding APIs in UsageEvents for public use\" into pi-dev"
    },
    {
      "commit": "386f50e04f6e93894a38951cf9e946e9fa952af8",
      "tree": "243a336a7800b2fc38ef6a751c57fee5f327bad6",
      "parents": [
        "dcf12d4a3956c436b18a8aa725094e0d322b37d8"
      ],
      "author": {
        "name": "Yohei Yukawa",
        "email": "yukawa@google.com",
        "time": "Wed Mar 14 13:03:42 2018 -0700"
      },
      "committer": {
        "name": "Yohei Yukawa",
        "email": "yukawa@google.com",
        "time": "Wed Mar 14 23:42:21 2018 +0000"
      },
      "message": "Add IMS#BACK_DISPOSITION_ADJUST_NOTHING\n\nThis is a follow up CL to our previous attempt [1] to make\nInputMethodService#setBackDisposition() work and make sense.\n\nBased on the feedback from several IME developers, we learned that\nInputMethodService#setBackDisposition() is still confusing.\n\nMy conclusion is that trying to reuse existing flags was a mistake.\nHere are the rationale for deprecating those two flags.\n\n * BACK_DISPOSITION_WILL_NOT_DISMISS\n\n   This flag had never been used until we started using it in our\n   previous CL [1].  However, it turns out that what this flag means\n   is hard to understand because its JavaDoc only says\n      \"This input method will not consume the back key.\"\n   To address the original goal of Bug 38513361, we can (and should)\n   introduce a new flag rather than reusing this confusing flag.\n   Deprecating this flag should have no impact because it had never\n   been used.\n\n * BACK_DISPOSITION_WILL_DISMISS\n\n   On pre-P devices IME could abuse this flag to override the back\n   button to \"dismiss\" mode even after IME lost the focus.  On the\n   other hand, as far as we know there is no good use case for this\n   flag.  Hence rather than trying to fix such an abuse scenario, we\n   should just deprecate this flag.\n\nInstead, a newly introduced flag BACK_DISPOSITION_ADJUST_NOTHING\nshould be sufficient to achieve the original goal of Bug 38513361.\nThis flag does not rely on the concept \"dismiss\" and key event\nhandling hence it would be much easier to maintain.\n\n [1]: I99e7c413fe1a93f8d8cff897b5c5f0947690d2c0\n      3fecef119e1921204ea06792586ee10a94608ae6\n\nFix: 74403102\nTest: atest CtsInputMethodTestCases\nChange-Id: I064209c40da79fffb2627e8f580818a793017b1f\n"
    },
    {
      "commit": "8f1a910ad8fa4dc2867de1c2badcdb6ad37cb9e6",
      "tree": "aacb5b5bf3eb3ff1b39ecbc4f4b35a518c188d59",
      "parents": [
        "d854d917ecf7826ab5a48c62d0d8496c0b399d6e"
      ],
      "author": {
        "name": "Roshan Pius",
        "email": "rpius@google.com",
        "time": "Wed Mar 14 15:10:18 2018 -0700"
      },
      "committer": {
        "name": "Roshan Pius",
        "email": "rpius@google.com",
        "time": "Wed Mar 14 15:17:00 2018 -0700"
      },
      "message": "WifiConfiguration: Undeprecate WPA_PSK\n\nThis is needed for client mode operations for configuring WPA_PSK\nnetworks. There is no alternative public value for WPA_PSK.\nThe intention was to deprecate usage of this value for AP\nmode, but since we share the same object across client \u0026 AP mode\noperations, we cannot mark this field deprecated.\n\nBug: 72332080\nTest: make update-api\nChange-Id: I75f675b630080d853422f945d7cbc37c5f205fde\n"
    },
    {
      "commit": "aa90e8781fd9390f547f3346d34ebbe158415ade",
      "tree": "fc2f6d97d9e623c878fb89cda3fd2ba1a66efd0b",
      "parents": [
        "41b5ece1359db36c59a38629225c75da7513e9cd"
      ],
      "author": {
        "name": "Adora Zhang",
        "email": "qiaozhang@google.com",
        "time": "Mon Mar 12 14:07:50 2018 -0700"
      },
      "committer": {
        "name": "Adora Zhang",
        "email": "qiaozhang@google.com",
        "time": "Wed Mar 14 14:53:26 2018 -0700"
      },
      "message": "Add notification category: CATEGORY_NAVIGATION;\nAdd @SystemApi @hide notification categories: CATEGORY_CAR_EMERGENCY, CATEGORY_CAR_WARNING, and CATEGORY_CAR_INFORMATION.\n\nBug: 74546526\nTest: runtest -x tests/app/src/android/app/cts/NotificationTest.java\n\nChange-Id: Ib997992e039d2eddbd9c744816c35e279f9f9682\n"
    },
    {
      "commit": "4e12de81b86f1f77bb5fe2864250c2ceda307f81",
      "tree": "0eb14ae62dd6767f0d98837f397f94e9d7f68977",
      "parents": [
        "f2939ab2da5586cdf5f64ec72a643814ec6fdd4c"
      ],
      "author": {
        "name": "Suprabh Shukla",
        "email": "suprabh@google.com",
        "time": "Thu Mar 08 18:34:15 2018 -0800"
      },
      "committer": {
        "name": "Suprabh Shukla",
        "email": "suprabh@google.com",
        "time": "Wed Mar 14 14:27:09 2018 -0700"
      },
      "message": "Unhiding APIs in UsageEvents for public use\n\nThese apis are needed to interpret standby bucket change history\nwhen using UsageStatsManager#queryEventsForSelf\n\nTest: atest android.app.usage.cts.UsageStatsTest#testQueryEventsForSelf\n\nBug: 71906213\nChange-Id: Ib9f458bf32089ad30c97eca9dd5cc4df5a392191\n"
    },
    {
      "commit": "915f5041bbf9e82d30dbf5718aa4ba96823a4605",
      "tree": "f4a8adb5c3aa5e6b62522a536a3579b6e579c12c",
      "parents": [
        "9e56800b6e4648ea4df594b6a2ef3da1f2e16595"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Mar 13 19:08:01 2018 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Mar 14 14:03:07 2018 -0700"
      },
      "message": "Camera2: Deprecate LENS_RADIAL_DISTORTION, add LENS_DISTORTION\n\nLENS_RADIAL_DISTORTION is inconsistently defined: in some places, it\nis documented to operate on the range [-1...1], and in others, on a\nrange dependent on the camera lens\u0027s intrinsic calibration and focal\nlength.\n\nSince fixing just the definition will not fix any existing devices\nthat define this value, deprecate the old key and add a new consistent\none to make sure applications only reference the consistent\ndefinition.\n\nTest: Adjusted camera CTS passes\nBug: 74641761\nChange-Id: Ica7bcd0bc54baa0bdb1d388c4947431556643393\n"
    },
    {
      "commit": "98c1d17cb43eeea437c4fead9c6a26316208aa38",
      "tree": "1cc603b8f0df7f3e0ce043595f4241e61f77bc90",
      "parents": [
        "6d4bdc53814fb99623ab11c9b2b4a1db7f4a4858",
        "f88d25e1b75d2819515e305c5b91235735f7b4d2"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 14 20:12:54 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 14 20:12:54 2018 +0000"
      },
      "message": "Merge \"Add API to get currently pinned slices\" into pi-dev"
    },
    {
      "commit": "bf5387edd88cdceb5208899ebd70d188fea54cfa",
      "tree": "c6e5d2e1b27a694e15beb18569b47718df468690",
      "parents": [
        "2801bf00dec03a46ed9701516ddec6ba1e5f4292",
        "bf1b57d856685243f677e1f1bd29866e637a16fb"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Mar 14 03:02:20 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 14 03:02:20 2018 +0000"
      },
      "message": "Merge \"Fix issue #62342672: API Review: OPSTR_ACTIVATE_VPN SystemApi\" into pi-dev"
    },
    {
      "commit": "d78e0451ea9c7da6b823515971c3eef69c556308",
      "tree": "73393200ec057fdc283caa6d881d2c88081c93d6",
      "parents": [
        "ee09c4ca62ad17d99b08b8fe78c548184d8d828c",
        "346bddee19e15192890c2df41474ea19b2a3a3c3"
      ],
      "author": {
        "name": "Qingxi Li",
        "email": "qingxi@google.com",
        "time": "Tue Mar 13 23:00:10 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 13 23:00:10 2018 +0000"
      },
      "message": "Merge \"Add API to check extended APDU Supported\" into pi-dev"
    },
    {
      "commit": "6896508045b1a95a103440bf27f98388ca375239",
      "tree": "fef28d1c6a67fc3ec7d285eac7215fb6f5988fba",
      "parents": [
        "fd181dc69ee39dbe940e8011f3633ebd45ca3280",
        "90d6fccf019b1e8d3687121d3fbdb2c821d18bb5"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 13 22:44:21 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 13 22:44:21 2018 +0000"
      },
      "message": "Merge \"Revert \"Camera: SessionConfiguration should use Executors\"\" into pi-dev"
    },
    {
      "commit": "1b8333d1fb42ea1aaafdea3e6f1fb0071e5ebb74",
      "tree": "46b6e7da90f3b2d81d052b3c9dba2aa760dcf485",
      "parents": [
        "cd9a549e36da179bf18ff18df43755b4bbd8bf87",
        "f3523ec5242f90f9608d7f860144f58ef5707b10"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 13 22:24:41 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 13 22:24:41 2018 +0000"
      },
      "message": "Merge \"Unhide getWeight of Typeface\" into pi-dev"
    },
    {
      "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": "90d6fccf019b1e8d3687121d3fbdb2c821d18bb5",
      "tree": "7bca1b2300adc9ae487db9cf291e5e4e68854652",
      "parents": [
        "004e73c38c799adfe5eaeceb96a5bc9aa3239b31"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Mar 13 20:49:12 2018 +0000"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Mar 13 20:57:42 2018 +0000"
      },
      "message": "Revert \"Camera: SessionConfiguration should use Executors\"\n\nThis reverts commit 004e73c38c799adfe5eaeceb96a5bc9aa3239b31.\n\nBug: 74605221\nBug: 73953366\nChange-Id: I1665c3d235434f57a4cd4aa5f082720b83ac10cc\n"
    },
    {
      "commit": "fc1ac6c9a8ceabc89706bfaee8fd780d4f127f94",
      "tree": "220f7b23ba864d15a9236122fc0d0ebcca5d32d0",
      "parents": [
        "deb9033fa3b1e2330867e220faa03e59af0a6cba",
        "9c750fe77fc8ea3d556cd71abf459f21839e4d56"
      ],
      "author": {
        "name": "Brad Ebinger",
        "email": "breadley@google.com",
        "time": "Tue Mar 13 20:53:53 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 13 20:53:53 2018 +0000"
      },
      "message": "Merge \"Support Dynamic ImsService Querying\" into pi-dev"
    },
    {
      "commit": "346bddee19e15192890c2df41474ea19b2a3a3c3",
      "tree": "f183efcc2ca310de029eb600d7cc719c6acc477d",
      "parents": [
        "e781724b410f7034b3fb7360fc516b706f398e9a"
      ],
      "author": {
        "name": "Qingxi Li",
        "email": "qingxi@google.com",
        "time": "Wed Mar 07 10:50:02 2018 -0800"
      },
      "committer": {
        "name": "Qingxi Li",
        "email": "qingxi@google.com",
        "time": "Tue Mar 13 13:41:50 2018 -0700"
      },
      "message": "Add API to check extended APDU Supported\n\nAdd API UiccSlotInfo#getIsExtendedApduSupported\n\nBug: 68999147\nTest: TreeHugger \u0026 E2E\nChange-Id: Ia400a23c35332356deaa214861f6f5ffe47c8092\n"
    },
    {
      "commit": "3ed6c6330a47b7334881eb1412384e540913f095",
      "tree": "7ff78a7d5a27d3634ac635cc77f0a432af836d69",
      "parents": [
        "ed9ee780a4f2bd1ebf2a00bfef3edbfd66b9f604",
        "22db49485e7e708d75d6ba79fbb9c60f1dca1ff1"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 13 19:20:47 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 13 19:20:47 2018 +0000"
      },
      "message": "Merge \"Expose the new brightness permissions as test APIs.\" into pi-dev"
    },
    {
      "commit": "9c750fe77fc8ea3d556cd71abf459f21839e4d56",
      "tree": "e5cf90710851f3a75e40887880ab4fe3530e39fc",
      "parents": [
        "f78767d2f9ec81e454baa0c637ebe0ad19ca1cf3"
      ],
      "author": {
        "name": "Brad Ebinger",
        "email": "breadley@google.com",
        "time": "Thu Mar 01 13:05:59 2018 -0800"
      },
      "committer": {
        "name": "Brad Ebinger",
        "email": "breadley@google.com",
        "time": "Tue Mar 13 11:06:38 2018 -0700"
      },
      "message": "Support Dynamic ImsService Querying\n\n1) Provide a \"default\" impl for MmTelFeature\ninstead of returning null.\n\n2) Introduce a FeatureSlotPair, which maps a SIM\nslot ID to a ImsFeature. This allows the ImsService\nto provide which features it supports for multi-SIM\nphones.\n\n3) Pipe through ImsResolver state to help prevent IMS\noperation when the ImsResolver is in the process of\nfiguring out feature capabilities.\n\nTest: Telephony ImsService test app, telephony unit tests\nBug: 72642524\n\nMerged-In: I4d7e9ba630739ade83e3242488f330ea6e73bbd7\nChange-Id: Idb95f7651af200026d62e8b29eaed30bc0ebc9d3\n"
    },
    {
      "commit": "a033fa7fdcdf07a92087c32d63902902705bfc77",
      "tree": "f1c7851bb8ae4edcb1fbb568c863a0fea22f2f47",
      "parents": [
        "7844159deb6cd67ddf1d99349e46be9632eba555",
        "66cffd5ae6546fb1e586565ed96e5af58ccf46c4"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 13 13:54:18 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 13 13:54:18 2018 +0000"
      },
      "message": "Merge \"Run slice callbacks on thread they come in on\" into pi-dev"
    },
    {
      "commit": "8807436378fae2a0525dbf85594f45fe9b131def",
      "tree": "783e5f8ace521dcb643efd72a91ae972b4038cbe",
      "parents": [
        "07c1cc1f4febfbea6e262e591914012ab18b9617",
        "a89f6e1bb2076518068084fea53c4ee5c1306b4c"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 13 02:29:25 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 13 02:29:25 2018 +0000"
      },
      "message": "Merge \"heif: add option for specifying bitmap pixel format\" into pi-dev"
    },
    {
      "commit": "2b83982b2b8a0e2772a0f44def8007f274cb8376",
      "tree": "dfec5b67c567b56a578e965ebea26e094eb371cb",
      "parents": [
        "b44e3b1799e6cc2bf77136ddd02f97f559ab7092",
        "69d2d51a59ecb30742673fbe56b68397185a08c5"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 13 00:09:02 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 13 00:09:02 2018 +0000"
      },
      "message": "Merge \"Make MP2 operations asynchronous and send matching notifications\" into pi-dev"
    },
    {
      "commit": "f78767d2f9ec81e454baa0c637ebe0ad19ca1cf3",
      "tree": "215188b7f387d8915533ceec732e7623762208bd",
      "parents": [
        "5d92e7248242f0f442818e1b562af55185a205e3",
        "c8d483e488b8fb75e997a4a48c632e20cae0f4b7"
      ],
      "author": {
        "name": "Chen Xu",
        "email": "fionaxu@google.com",
        "time": "Mon Mar 12 22:49:21 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 12 22:49:21 2018 +0000"
      },
      "message": "Merge \"Carrier id api rename\" into pi-dev"
    }
  ],
  "next": "5d92e7248242f0f442818e1b562af55185a205e3"
}
