)]}'
{
  "log": [
    {
      "commit": "77e0b7b821a4d334606f07c7626aa59f9bee8446",
      "tree": "0955bd7ec0fec391ef351217007f2026f1a8f5ca",
      "parents": [
        "9911073f6a492177f8d33437af8b8b60993c66ab",
        "91c361dcbb1a480c9c8ddec855ac1400117de226"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Wed Mar 28 08:43:08 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 28 08:43:08 2018 +0000"
      },
      "message": "Merge \"Build: Remove MIN_SUPPORTED_TARGET_SDK_INT from public API.\" into pi-dev"
    },
    {
      "commit": "a78a764fe3ce57f673cd60cc58f40ae87c19669b",
      "tree": "6bf2171f053555e2aec16875b23281695cea557c",
      "parents": [
        "0c1c9cd7f2a343bb7bb9881326d7bb34db2e2fad",
        "59159c437a8696c67b92c4e4cbf57402cb018cad"
      ],
      "author": {
        "name": "Jiuyu Sun",
        "email": "jiuyu@google.com",
        "time": "Wed Mar 28 04:18:51 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 28 04:18:51 2018 +0000"
      },
      "message": "Merge \"Address comments from API Review.\" into pi-dev"
    },
    {
      "commit": "1c73370df4c6b8399a264923e1f370b64019fca3",
      "tree": "80ee61ec58811aa205c5404e80fff231a8604631",
      "parents": [
        "2ae75ba1abd6f02415f93e21ff805e9bdbc5372b",
        "2fd43ba63ef336f9e0edc9c742b85507c46b3bc9"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 28 00:45:23 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 28 00:45:23 2018 +0000"
      },
      "message": "Merge \"Sending MY_PACKAGE_SUSPENDED to suspended apps\" into pi-dev"
    },
    {
      "commit": "df369da85f60e8d6f8c4688dd45444669ddaf6d3",
      "tree": "6f946c84b7035f62704103517ba9fbb912951532",
      "parents": [
        "2fc8197b4dc71bc3c5848add05c54ca0a3ca0d3e",
        "1d0b15510aa0452340ea9fd00938adda32c09635"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 27 22:54:25 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 27 22:54:25 2018 +0000"
      },
      "message": "Merge \"Modify Open Mobile API to follow Android API guidelines\" into pi-dev"
    },
    {
      "commit": "2fc8197b4dc71bc3c5848add05c54ca0a3ca0d3e",
      "tree": "58a572952bd013efc63aa257b43c8a0f514e233d",
      "parents": [
        "00f3c4333e37a7f02320abc8293e692bf0c41b14",
        "636fdbcccecbfa366bd76e42c86237fc6e8b9e68"
      ],
      "author": {
        "name": "Xiangyu/Malcolm Chen",
        "email": "refuhoo@google.com",
        "time": "Tue Mar 27 22:42:58 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 27 22:42:58 2018 +0000"
      },
      "message": "Merge \"Clean new TelephonyManager API.\" into pi-dev"
    },
    {
      "commit": "00f3c4333e37a7f02320abc8293e692bf0c41b14",
      "tree": "6d70552104770ba2144336c696449d17226708a0",
      "parents": [
        "56e9c026b33da783088c10a3d1162076a8e25cb6",
        "ced54398cc0dfd2f782153560c2ffd0eb8743045"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Mar 27 22:40:51 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 27 22:40:51 2018 +0000"
      },
      "message": "Merge \"Work on issue #74404949: Screen state usage API\" into pi-dev"
    },
    {
      "commit": "56e9c026b33da783088c10a3d1162076a8e25cb6",
      "tree": "36bd56d58d0890d16be28c3877d59b40f78357b8",
      "parents": [
        "cdaba41a6f36262ae37b3425b8da981d2266345b",
        "5437b81696e19e40be3f6f9cc95b8ef14fa93ae3"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 27 22:13:37 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 27 22:13:37 2018 +0000"
      },
      "message": "Merge \"Refactor AddUserAuthArgs for extensibility\" into pi-dev"
    },
    {
      "commit": "17b6490ce18092091c523f9a364f2effd76289f3",
      "tree": "71d03840f067b26ad8c0341220815c684c32b28d",
      "parents": [
        "0fba0640a119abaae887735cf609d294097e060f",
        "105540da419d7ec1da86f3c0ad6e5e2173deeb8e"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 27 21:50:31 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 27 21:50:31 2018 +0000"
      },
      "message": "Merge \"Regularize some wallpaper APIs\" into pi-dev"
    },
    {
      "commit": "2cc67382c06582aa94825dbf7463d97ff405c6d5",
      "tree": "15909d834bbd5ee4ae0c454a584c44d8b3e3a004",
      "parents": [
        "ce61d118deacce054d8d9ae8dac50ec1a3dfe3cd",
        "d5e1af54e3d73668ec5a8f465e4099eecaf96213"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 27 20:58:54 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 27 20:58:54 2018 +0000"
      },
      "message": "Merge \"Revert \"Unhide enable_apps carrier config key.\"\" into pi-dev"
    },
    {
      "commit": "ced54398cc0dfd2f782153560c2ffd0eb8743045",
      "tree": "d5e6a868ec1b33c2fd8e91287c9e8eed6e3b47a0",
      "parents": [
        "d52c532df7c7c481bf6e482c37f4e0ee02618fce"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Feb 26 13:07:42 2018 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Mar 27 13:27:20 2018 -0700"
      },
      "message": "Work on issue #74404949: Screen state usage API\n\nAdd usage stats tracking of screen time.  There are two new\nevents, one for when the device is an interactive state, the\nother for when it is non-interactive.  Also add a whole new\nusage stats API for retrieving aggregated data that is associated\nwith general events, not particular packages.  In this case\nit allows you to find the time the device spent interactive\nand non-interactive and the count of the transitions in to\neach of those states.\n\nBug: 74404949\nTest: atest CtsUsageStatsTestCases:UsageStatsTest\\#testInteractiveEvents\n\nChange-Id: Ibe6d55e2aecb0c8519b1358644378ec5c7a4250d\n"
    },
    {
      "commit": "59159c437a8696c67b92c4e4cbf57402cb018cad",
      "tree": "30b4e9646c12982808ebb79b6debcf82ec29376a",
      "parents": [
        "a194d92495a298561879dde137e6342d0e6784e8"
      ],
      "author": {
        "name": "Holly Jiuyu Sun",
        "email": "jiuyu@google.com",
        "time": "Thu Mar 15 18:06:42 2018 -0700"
      },
      "committer": {
        "name": "Holly Jiuyu Sun",
        "email": "jiuyu@google.com",
        "time": "Tue Mar 27 12:31:56 2018 -0700"
      },
      "message": "Address comments from API Review.\n\nBug: 74975825\nBug: 74976716\nBug: 74976875\nTest: test on phone\nChange-Id: I5417e5dd95c75fd3fd9fa98d7559511bd0fcd8a0\n"
    },
    {
      "commit": "3801d3a7d97e280b025ba210885915a4ab9a6171",
      "tree": "abd304e84fe98be9da7089d99dbd2e8241d5a596",
      "parents": [
        "e1c4324e6c6ed462a3800acbf88479d87daa67fb",
        "4167072142a88e6dee8df4927dfe6c95be874bdb"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 27 19:26:44 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 27 19:26:44 2018 +0000"
      },
      "message": "Merge \"Camera2: Add distortion correction support\" into pi-dev"
    },
    {
      "commit": "812e87ecba60a386f624b9dd68097d0ba9aac973",
      "tree": "cf88e816b0481ae07178bc9aabeb84b0cf722a1f",
      "parents": [
        "bb54f62d1a7afc2879a576267f753ad898c09a3d",
        "7b837616ae88cbdaf12600cee23b5188e5531937"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 27 18:00:29 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 27 18:00:29 2018 +0000"
      },
      "message": "Merge \"Remove deprecated android.graphics.Canvas APIs\" into pi-dev"
    },
    {
      "commit": "d5e1af54e3d73668ec5a8f465e4099eecaf96213",
      "tree": "1d8a41d9405c35de99abe2dfed7023e188ab02b4",
      "parents": [
        "dbac87dd408e4e42374c4ef29317a19bb7e4778b"
      ],
      "author": {
        "name": "Meng Wang",
        "email": "mewan@google.com",
        "time": "Fri Mar 23 16:25:03 2018 -0700"
      },
      "committer": {
        "name": "Meng Wang",
        "email": "mewan@google.com",
        "time": "Tue Mar 27 17:28:19 2018 +0000"
      },
      "message": "Revert \"Unhide enable_apps carrier config key.\"\n\nThis reverts commit 4793b28d3f2a65492aa7049c5e6e77c1cdbbb1a3.\n\nReason for revert: This is not intended as a public API.\n\nBug: 62907095\nTest: make\nChange-Id: Id79f91c72eac3929fa5ee7ac1cdd9df8671a1eb1\n(cherry picked from commit f47a426206cd89d49df8369eaa98a685365a62ed)\n"
    },
    {
      "commit": "91c361dcbb1a480c9c8ddec855ac1400117de226",
      "tree": "d952be2c3e2ce83b0f46b749f6bfb322e58512d8",
      "parents": [
        "2f426bcd09e27e1ad7bd1215c1dc5de0d7cce262"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Mar 26 18:31:33 2018 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Tue Mar 27 16:47:55 2018 +0000"
      },
      "message": "Build: Remove MIN_SUPPORTED_TARGET_SDK_INT from public API.\n\nIt\u0027s not required. Also, amend the javadoc to reflect the current\nstate of affairs.\n\nBug: 76418791\nTest: make update-api \u0026\u0026 make checkapi\nChange-Id: I7d68a0ab33967679af8cfc4161c8283d4471b561\n"
    },
    {
      "commit": "a9975804a2366585deb9a88ca91ebb589a879fd3",
      "tree": "5ac646dccfd2c0a13cfa4436818f078d89ad8bf3",
      "parents": [
        "87c24a655bb2a8f395f9467fbaf1c7d33b98cc55",
        "8474ca024666b3df235d3f073c0bdb7136629457"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 27 16:25:23 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 27 16:25:23 2018 +0000"
      },
      "message": "Merge \"API council requested tweaks to JobInfo.\" into pi-dev"
    },
    {
      "commit": "1d0b15510aa0452340ea9fd00938adda32c09635",
      "tree": "877d70914a15dd88f6b135b7dc81ed2f3cc60c93",
      "parents": [
        "47a0da6aecc207790bf96e917064283bb1080b6c"
      ],
      "author": {
        "name": "Ruchi Kandoi",
        "email": "kandoiruchi@google.com",
        "time": "Thu Mar 22 11:06:36 2018 -0700"
      },
      "committer": {
        "name": "Ruchi Kandoi",
        "email": "kandoiruchi@google.com",
        "time": "Tue Mar 27 08:55:53 2018 -0700"
      },
      "message": "Modify Open Mobile API to follow Android API guidelines\n\n- Add @Nullable/@NonNull to input arguments for APIs\n- Remove deprecated methods openBasicChannel(aid) and\n  openLogicalChannel(aid)\n- SecureElementListener is converted to a stand-alone interface\n- serviceConnected() callback is renamed to onServiceConnected()\n\nBug: 64994044\nTest: Run Cts Test\nChange-Id: I503044a26a81dae8befb87fb8e8ac96d19de883b\n(cherry picked from commit d785fc4f6d238fcab6e2dbfbf53a57e14f248ec4)\n"
    },
    {
      "commit": "8474ca024666b3df235d3f073c0bdb7136629457",
      "tree": "8dbdd50d177167b924534609c3172fc51f22d50a",
      "parents": [
        "b133cbfd0b5afb0217ee45c8e26847465c6a717a"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Mar 26 19:10:02 2018 -0600"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Mar 27 08:41:42 2018 -0600"
      },
      "message": "API council requested tweaks to JobInfo.\n\nSplit network estimates into separate download/upload values, and\nadd missing accessor methods.\n\nTest: none\nBug: 74945408, 74032541, 74032817\nChange-Id: I4c92b8a867690dc4f048701f13142655c3370958\n"
    },
    {
      "commit": "7b837616ae88cbdaf12600cee23b5188e5531937",
      "tree": "423bf476641da8b71234af88304bbec075a74b16",
      "parents": [
        "b429012907e8b48bf88c5ec5e91312c3379ca325"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Thu Feb 22 16:16:33 2018 -0500"
      },
      "committer": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Tue Mar 27 14:36:50 2018 +0000"
      },
      "message": "Remove deprecated android.graphics.Canvas APIs\n\nBug: 73777445\nTest: compile\nChange-Id: Ie68f2fbe3c3be82f3c20529d535875d4cc204b7c\n"
    },
    {
      "commit": "c2bdecb8c88c614a7c883ef93b142e2dd7c73c10",
      "tree": "11c63d60d93d3823b5a0131c713843b29b05364e",
      "parents": [
        "ee7802f577ad9463b12505eef2e2db524f817a6e",
        "21ed3c58e8e6ed7807611c1d5c2eebfc7b12a2b2"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 27 06:40:37 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 27 06:40:37 2018 +0000"
      },
      "message": "Merge \"Move alpha long/short to the base CellIdentity according API Review.\" into pi-dev"
    },
    {
      "commit": "9a6bc76ee8f09181ef7c9ad34b1a51ba4c77737f",
      "tree": "d11fe6aad9ff104161459e930d5fce6f5c38072e",
      "parents": [
        "01f2ff1aa474784048dcfeec6c0aca086dc19f01",
        "121d565b65ab66e1e2804fc89c58e88cd91804fd"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 27 02:56:24 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 27 02:56:24 2018 +0000"
      },
      "message": "Merge \"API council requested tweaks to TrafficStats.\" into pi-dev"
    },
    {
      "commit": "0bff5a6dfa4a37414ca7831db41f772125125a6a",
      "tree": "ad5795a3380e0e72ee4132e1dda0301e44661262",
      "parents": [
        "fddbae9c78b605d16d813123b6dde67fdeee63ae",
        "ae1324a32ea4addea2d36ed2e86a239529decad7"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 27 02:40:24 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 27 02:40:24 2018 +0000"
      },
      "message": "Merge \"API council requested tweaks to SystemClock.\" into pi-dev"
    },
    {
      "commit": "b15bcea4d4c05f04212729ca7a4016269a5df1d4",
      "tree": "fe487bb7f568bcece18e9751aeda98365d39bb10",
      "parents": [
        "855617501c4a8be95586962ce2612f493754e1f3",
        "eb738c1c507ef9ad1ab78a238e10a05c729c0b0b"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 27 02:30:25 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 27 02:30:25 2018 +0000"
      },
      "message": "Merge \"API council requested tweaks to DataUnit.\" into pi-dev"
    },
    {
      "commit": "855617501c4a8be95586962ce2612f493754e1f3",
      "tree": "628acb94756c203cf61ca13b42726aee996967cd",
      "parents": [
        "fee443bfabea4f1f04dc12f9478b6a244bd55de6",
        "8001abf7386a29ad0d4b0f98e1700ae43b0b1496"
      ],
      "author": {
        "name": "Christofer Åkersten",
        "email": "akersten@google.com",
        "time": "Tue Mar 27 01:46:42 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 27 01:46:42 2018 +0000"
      },
      "message": "Merge \"Hide Media*2 APIs\" into pi-dev"
    },
    {
      "commit": "fee443bfabea4f1f04dc12f9478b6a244bd55de6",
      "tree": "2573d856f2d4549cd4c06b6c49c36f4aa0e8292d",
      "parents": [
        "5e0957aaed7db2c6b38ab9b94d6b7617eb2d0dcf",
        "1da8bb1d8e538cd7c248d9478fb511cd4ff8e343"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 27 01:40:23 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 27 01:40:23 2018 +0000"
      },
      "message": "Merge \"Move FIRST_SDK_INT to @TestApi.\" into pi-dev"
    },
    {
      "commit": "2fd43ba63ef336f9e0edc9c742b85507c46b3bc9",
      "tree": "7b1f7610e5ce9250083830734743f0a9517987de",
      "parents": [
        "02bfc970684e8d7cf4c8479c556cbf2d111f3516"
      ],
      "author": {
        "name": "Suprabh Shukla",
        "email": "suprabh@google.com",
        "time": "Thu Mar 22 16:57:49 2018 -0700"
      },
      "committer": {
        "name": "Suprabh Shukla",
        "email": "suprabh@google.com",
        "time": "Mon Mar 26 18:01:13 2018 -0700"
      },
      "message": "Sending MY_PACKAGE_SUSPENDED to suspended apps\n\nAdded new broadcast actions MY_PACKAGE_SUSPENDED and\nMY_PACKAGE_UNSUSPENDED, which are sent to the package that is affected\nby the suspend state change. A suspended package also receives a bundle\nof app extras to pass more information. This makes it easier for\npackages to deal with being suspended/unsuspended.\n\nAlso updated some existing documentation to make it clearer.\n\nTest: atest com.android.server.pm.SuspendPackagesTest\n\nBug: 75036698\nChange-Id: I772cf0c023669bc946e07ced4ebccfa74f6835b2\n"
    },
    {
      "commit": "9360a31f5fecb77d4716e333a8b97418e0ae6b56",
      "tree": "282ea451da808b430af63f868250bac7a0796b76",
      "parents": [
        "2ed9bf437e22de7ea87697f84bb1ea39bf765612",
        "abeb04ed557f33e33886270ad037a83bb4576737"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Mar 26 22:36:45 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 26 22:36:45 2018 +0000"
      },
      "message": "Merge \"Make PackageManager#getNamesForUids testable.\" into pi-dev"
    },
    {
      "commit": "fc704e2fd7cdaf903a3ab1da7db21f80c6c261fe",
      "tree": "03000329df3046bd08129f20d49daf85c9b67178",
      "parents": [
        "110a7c20f401771759bac6231c61938723dfb113",
        "ac11238291b9e1b692f4e9ebe92f85a39c28f284"
      ],
      "author": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Mon Mar 26 21:44:38 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 26 21:44:38 2018 +0000"
      },
      "message": "Merge \"Security fixup for Slices\" into pi-dev"
    },
    {
      "commit": "110a7c20f401771759bac6231c61938723dfb113",
      "tree": "e3d02c22478ac8157ad5550c8532629fce576fb9",
      "parents": [
        "8404d082c41d6e3510d072df0df5739b3ccccc3a",
        "a3cd7b9d53cdc98952365b12a8f9d5623726ed52"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Mar 26 21:41:09 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 26 21:41:09 2018 +0000"
      },
      "message": "Merge \"Sticky battery saver\" into pi-dev"
    },
    {
      "commit": "ae1324a32ea4addea2d36ed2e86a239529decad7",
      "tree": "8653f08f536b54c813c6ddc1f21259e3e755dbf7",
      "parents": [
        "b133cbfd0b5afb0217ee45c8e26847465c6a717a"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Mar 26 15:26:00 2018 -0600"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Mar 26 15:34:24 2018 -0600"
      },
      "message": "API council requested tweaks to SystemClock.\n\nTest: none\nBug: 73952114\nChange-Id: Idd7aae5161a2326920860a6a9c7137369a4d8b3d\n"
    },
    {
      "commit": "eb738c1c507ef9ad1ab78a238e10a05c729c0b0b",
      "tree": "0cc6a10b0dd7fbd8b72d7f6d2e49016a58ec8cd2",
      "parents": [
        "b133cbfd0b5afb0217ee45c8e26847465c6a717a"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Mar 26 13:35:50 2018 -0600"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Mar 26 13:37:20 2018 -0600"
      },
      "message": "API council requested tweaks to DataUnit.\n\nTest: none\nBug: 71584606\nChange-Id: Ic516dd7645e150586d7dd2e389e7663a32924ecc\n"
    },
    {
      "commit": "121d565b65ab66e1e2804fc89c58e88cd91804fd",
      "tree": "a8a0a0d42789a9fc4fa4aa231bc4e35cd3e96f0a",
      "parents": [
        "b133cbfd0b5afb0217ee45c8e26847465c6a717a"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Mar 26 13:11:33 2018 -0600"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Mar 26 13:12:39 2018 -0600"
      },
      "message": "API council requested tweaks to TrafficStats.\n\nTest: atest android.appsecurity.cts.AppSecurityTests#testAppFailAccessPrivateData\nBug: 71584606\nChange-Id: I4be8a47d54a04f17cbaac735d543ff7d6370376d\n"
    },
    {
      "commit": "1da8bb1d8e538cd7c248d9478fb511cd4ff8e343",
      "tree": "82a62bfecf4c4d34889d43347694c53fdc0aae7c",
      "parents": [
        "b133cbfd0b5afb0217ee45c8e26847465c6a717a"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Mar 26 12:50:54 2018 -0600"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Mar 26 12:51:03 2018 -0600"
      },
      "message": "Move FIRST_SDK_INT to @TestApi.\n\nTest: atest android.os.cts.BuildTest\nBug: 71555186\nChange-Id: I92732b930834d9c1e4150417bb3ee8b6839e2b3e\n"
    },
    {
      "commit": "105540da419d7ec1da86f3c0ad6e5e2173deeb8e",
      "tree": "d6678819b9d9b6812c60c85b1081fbb560596e8d",
      "parents": [
        "02bfc970684e8d7cf4c8479c556cbf2d111f3516"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Wed Mar 21 13:03:09 2018 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Mar 26 11:26:50 2018 -0700"
      },
      "message": "Regularize some wallpaper APIs\n\nSpecifically:\n\n  + support clearing wallpapers, with similar permissions to setting\n  + support adjusting padding, with similar permissions as defining\n    wallpaper dimension hints (which behave somewhat similarly)\n\nBug: 62343054\nTest: atest CtsPermissionTestCases:NoWallpaperPermissionsTest\nChange-Id: Ia25f2791a20564c58096a25e6e189aa3b06b411c\n"
    },
    {
      "commit": "a3cd7b9d53cdc98952365b12a8f9d5623726ed52",
      "tree": "2703a2edc9b645be0d2839de085ea38804367e23",
      "parents": [
        "9b29e5caa0f3733de24862a079135742ca39ce6c"
      ],
      "author": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Mon Mar 19 14:47:05 2018 -0700"
      },
      "committer": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Mon Mar 26 10:27:56 2018 -0700"
      },
      "message": "Sticky battery saver\n\n- When battery saver is enabled manually (i.e. via PM.setPowerSaveMode()),\nit\u0027ll stick, and we\u0027ll re-enable battery saver even after a reboot\nor a charge.\n\n- Extracted all battery saver state transition logic into a separate\nclass.\n\nFix: 75033216\nBug: 74120126\nTest: Manual test with \"dumpsys battery set ....\"\nTest: atest $ANDROID_BUILD_TOP/frameworks/base/services/tests/servicestests/src/com/android/server/power/batterysaver/BatterySaverStateMachineTest.java\nChange-Id: If020cd48f341b339783fe09dd35bc7199e737a52\nTest: dumpsys power\nTest: incident_report power\nTest: atest CtsBatterySavingTestCases\n"
    },
    {
      "commit": "abeb04ed557f33e33886270ad037a83bb4576737",
      "tree": "39b637437b8642ce9879e10f5a40f487fc7bdaec",
      "parents": [
        "df753092814e278dbad3b330c63c6b5bcd32b1b0"
      ],
      "author": {
        "name": "Philip P. Moltmann",
        "email": "moltmann@google.com",
        "time": "Mon Mar 26 10:15:23 2018 -0700"
      },
      "committer": {
        "name": "Philip P. Moltmann",
        "email": "moltmann@google.com",
        "time": "Mon Mar 26 10:22:10 2018 -0700"
      },
      "message": "Make PackageManager#getNamesForUids testable.\n\nFixes: 76161011\nTest: atest android.content.pm.cts.PackageManagerTest\nChange-Id: I857d489ec9981839d63a5b934b4aaa0d2709be85\n"
    },
    {
      "commit": "8cb2aba54d97ad89be44867683edce2b500f30f0",
      "tree": "f6cbf02288b90be92b25feb516678e574bfae85f",
      "parents": [
        "361b809e08fe9b2e0424dc32a2573f3f9381ad76",
        "2f0184fa894780e3b3b81be6361b135bdfb0170f"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Mar 26 13:31:30 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 26 13:31:30 2018 +0000"
      },
      "message": "Merge changes from topic \"executor_api\" into pi-dev\n\n* changes:\n  Camera: Accept user-supplied executors in capture sessions\n  Camera: Async camera manager calls should use executors\n"
    },
    {
      "commit": "636fdbcccecbfa366bd76e42c86237fc6e8b9e68",
      "tree": "c380c9946585dfe2397ad7f1826d842ef667c48b",
      "parents": [
        "51856fde2bd2e7f00f4646900412d73dcb256d09"
      ],
      "author": {
        "name": "Malcolm Chen",
        "email": "refuhoo@google.com",
        "time": "Fri Mar 23 18:45:42 2018 -0700"
      },
      "committer": {
        "name": "Malcolm Chen",
        "email": "refuhoo@google.com",
        "time": "Fri Mar 23 18:51:29 2018 -0700"
      },
      "message": "Clean new TelephonyManager API.\n\nThis is to apply API council\u0027s review opinion on a previous commit.\n\nWe are reverting previous change, which renamed isDataEnabled and\nsetDataEnabled to isUserMobileDataEnabled and setUserMobileDataEnabled.\nSo this commit will remove the new APIs isUserMobileDataEnabled and\nsetUserMobileDataEnabled, and also rename hidden API isMobileDataEnabled\nto isDataCapable.\n\nBug: 71584593\nTest: unittest\nChange-Id: I84d65776874e7a7f6e3a9af9ff7ec7dcbd715c2c\n"
    },
    {
      "commit": "4f2e53fe482255eef18b2c6d17150cd122340920",
      "tree": "b8119715b0150cdf57f4d5a7b4bc568aea253ce8",
      "parents": [
        "b9e9f09486f512274a2b39bf9b9d38a3c077dc71",
        "ca0c1ac30447f09b4445b7f3760614c5f0e0a9f2"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Mar 24 01:12:49 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Mar 24 01:12:49 2018 +0000"
      },
      "message": "Merge \"Unhide ImsReasonInfo Constructor\" into pi-dev"
    },
    {
      "commit": "444885b10d28db7580c46368c5a3492bdc4e1efe",
      "tree": "2f53c09ba0622de1b2c5953f561ab3540c4cfe11",
      "parents": [
        "f15f291777b1b0e481b0c9f4d44536707e4f6780",
        "402de825e7d1e27d34e56d71b6e2ef2e541c986d"
      ],
      "author": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Fri Mar 23 23:32:54 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 23 23:32:54 2018 +0000"
      },
      "message": "Merge \"Don\u0027t show unsupported sdk warning in test harness.\" into pi-dev"
    },
    {
      "commit": "ecd4709573096b28b21b85df15e10925c42f482c",
      "tree": "601e17f677f9fa16325e9c31094811feda78597d",
      "parents": [
        "3aa86b427f56fcb6ad937c02ab65c7e9cec775db",
        "7953997160c032d1fa1d2b09636cd38787ba2909"
      ],
      "author": {
        "name": "Hall Liu",
        "email": "hallliu@google.com",
        "time": "Fri Mar 23 23:11:46 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 23 23:11:46 2018 +0000"
      },
      "message": "Merge \"Split the DownloadStateCallback class into two\" into pi-dev"
    },
    {
      "commit": "87f9818319fec1227cadd4fe3566409e71386d73",
      "tree": "9e0db645ad4035001ff15d80411106593c6b3aa7",
      "parents": [
        "69d41b05219d3014cf806d1b79add7fe363a693d",
        "e1a0b347a0719530f53f078da2486774e0770c67"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 23 22:04:04 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 23 22:04:04 2018 +0000"
      },
      "message": "Merge \"Added TestApi for default focus highlight\" into pi-dev"
    },
    {
      "commit": "4efdab2a7489b0d59eb9a35b96a2969e657eca00",
      "tree": "1dabb829fea4291828c62bbb0432e825fdf08c7a",
      "parents": [
        "9451c89341cffd44b10ba30095f1b22937c2530c",
        "191ce9c442d08603fe9ae7d53e228fdf88456acc"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 23 21:03:34 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 23 21:03:34 2018 +0000"
      },
      "message": "Merge \"HIDD: Address API Review concerns\" into pi-dev"
    },
    {
      "commit": "6045d66aa242ca665354e9558d61fdcc9b5bd03d",
      "tree": "a485abd693548f091413192b55c9c4ec8daa8d7d",
      "parents": [
        "5bdf06353798f13ceb40c21b023e3fcfb17ad0ad",
        "8686e1f157f9d1e21cb39762d1ec495cc74afdb1"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Mar 23 19:26:50 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 23 19:26:50 2018 +0000"
      },
      "message": "Merge \"Add isPivotSet/resetPivot\" into pi-dev"
    },
    {
      "commit": "8808edb063650f4497e6a31f8fbe4d2bcbdf227f",
      "tree": "44042aaed8444b4f2810c777b4587d9e967da716",
      "parents": [
        "ea4f21f62e18580d2829810abcc1a3e6d2d1676a",
        "bc813eb26e3027856114a26312e36e4bad86bd86"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Fri Mar 23 19:13:22 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 23 19:13:22 2018 +0000"
      },
      "message": "Merge \"Provide app launch count in UsageStats\" into pi-dev"
    },
    {
      "commit": "ac11238291b9e1b692f4e9ebe92f85a39c28f284",
      "tree": "93ff2d80cdedbcb2b0263a39d0815a8513952436",
      "parents": [
        "6ae5d863dea363d4feb7e8e2439b0adf985ae88a"
      ],
      "author": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Fri Mar 23 15:06:35 2018 -0400"
      },
      "committer": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Fri Mar 23 15:08:11 2018 -0400"
      },
      "message": "Security fixup for Slices\n\n - Allow slice providers to override grant flow\n - Remove overriding caller, that was a terrible idea\n - Move where the same app check happens to allow for CTS\n\nTest: CTS\nBug: 69168488\nChange-Id: I61c81c0665a08420b7bc83e3660657b62b2cd6a8\n"
    },
    {
      "commit": "21ed3c58e8e6ed7807611c1d5c2eebfc7b12a2b2",
      "tree": "c7000db59feb1fc9c6c76d1ca972f0ca19869516",
      "parents": [
        "6f2965af7920d10f2c4eeed87718277782c2af43"
      ],
      "author": {
        "name": "Cassie",
        "email": "xih@google.com",
        "time": "Wed Mar 21 16:20:34 2018 -0700"
      },
      "committer": {
        "name": "Cassie",
        "email": "xih@google.com",
        "time": "Fri Mar 23 11:07:18 2018 -0700"
      },
      "message": "Move alpha long/short to the base CellIdentity according API Review.\n\nBug: 74831568\nTest: Telephony sanity\nChange-Id: I0ef69e3f18fca111191e1c6329ae13c0860869ba\n"
    },
    {
      "commit": "7ed5fb3e1d61786d1987fdef5c9a9b4591b4930a",
      "tree": "f3f4c57de3e652e2a2d700b01bae141079a4aad6",
      "parents": [
        "13269764e5282987d87b831f7b0d54744821dbae",
        "9a0ec8c4563bd5ac2404b12b27c99621be6a15cd"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 23 17:16:00 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 23 17:16:00 2018 +0000"
      },
      "message": "Merge changes from topic \"bug73953366_bug74605221\" into pi-dev\n\n* changes:\n  Camera: Complete transition from handlers to executors\n  Camera: Camera shouldn\u0027t throw \u0027RejectedExecutionException\u0027\n  Revert \"Revert \"Camera: SessionConfiguration should use Executors\"\"\n"
    },
    {
      "commit": "9ec7026e924104acaee5cc5bac8888ae5452f3be",
      "tree": "fb5c63707499c209b068b8a5da8193b74ce0aa27",
      "parents": [
        "3384343629f686e6db6d202814d959f342214429",
        "40d8a45b23fef543f183bfc2a061ec7d96b6e252"
      ],
      "author": {
        "name": "Bo Zhu",
        "email": "bozhu@google.com",
        "time": "Fri Mar 23 15:25:36 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 23 15:25:36 2018 +0000"
      },
      "message": "Merge \"Unhide the enum/function for the password hashing algorithm scrypt\" into pi-dev"
    },
    {
      "commit": "2f0184fa894780e3b3b81be6361b135bdfb0170f",
      "tree": "45c16db3432614a4d878eca9cc4c7a314e1cda9b",
      "parents": [
        "9129aa25c1e9e20a652aa09d5742e0c4789cffc4"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Wed Mar 21 11:57:33 2018 +0000"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Fri Mar 23 14:27:37 2018 +0000"
      },
      "message": "Camera: Accept user-supplied executors in capture sessions\n\nIt should be possible for clients to pass executors instead of\nhandlers in any method that accepts capture result listener.\n\nBug: 3767382\nTest: Camera CTS\nChange-Id: I605c001533e93e6294d265fcd4d3d5783c313b8a\n"
    },
    {
      "commit": "a106a1a6b4dbcb087ff0833f11d23300fd9bcf78",
      "tree": "96e6cadfc6c0c1fb744177083d05e58a390ea589",
      "parents": [
        "6ae5d863dea363d4feb7e8e2439b0adf985ae88a",
        "4cbcb411b1198f14fbd41a231cc7fb738c958f1b"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 23 13:41:46 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 23 13:41:46 2018 +0000"
      },
      "message": "Merge \"Deprecating unused fields from GnssMeasurement\" into pi-dev"
    },
    {
      "commit": "0ed26bc8b1bf04e79a5abceb6f13cf509b9d105a",
      "tree": "f7d7de301340b24ba2384e90a2a868851c5e0cbc",
      "parents": [
        "d935bd4236538e809ec1ef237eed4ce3490fe723",
        "933dfc1cd6041d1e77d169be91818d5b31e36edc"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 23 11:19:06 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 23 11:19:06 2018 +0000"
      },
      "message": "Merge \"Delete unimplemented APIs from RecoveryController.\" into pi-dev"
    },
    {
      "commit": "933dfc1cd6041d1e77d169be91818d5b31e36edc",
      "tree": "fe82b53258754f260a5826240fb84c5d394d82b4",
      "parents": [
        "51856fde2bd2e7f00f4646900412d73dcb256d09"
      ],
      "author": {
        "name": "Aseem Kumar",
        "email": "aseemk@google.com",
        "time": "Thu Mar 22 22:09:34 2018 -0700"
      },
      "committer": {
        "name": "Aseem Kumar",
        "email": "aseemk@google.com",
        "time": "Fri Mar 23 05:16:42 2018 +0000"
      },
      "message": "Delete unimplemented APIs from RecoveryController.\n\nBug: 74859770\nTest: make update-api builds\nChange-Id: Ic547e0ee2ef13995389a71369ffa736a7d83b78a\n"
    },
    {
      "commit": "40d8a45b23fef543f183bfc2a061ec7d96b6e252",
      "tree": "0be7792149b8f2a1cbace8fa39a1f8491f9b27e0",
      "parents": [
        "b09f2b5926ace1ab1abb1a0dd0eb4ed70953d199"
      ],
      "author": {
        "name": "Bo Zhu",
        "email": "bozhu@google.com",
        "time": "Wed Mar 21 20:07:43 2018 -0700"
      },
      "committer": {
        "name": "Bo Zhu",
        "email": "bozhu@google.com",
        "time": "Thu Mar 22 20:22:44 2018 -0700"
      },
      "message": "Unhide the enum/function for the password hashing algorithm scrypt\n\nBug: 75024420\nTest: none, it\u0027s just unhiding APIs\nChange-Id: I9cbb327678d334079e2c660d85013f3073d4cb87\n"
    },
    {
      "commit": "8001abf7386a29ad0d4b0f98e1700ae43b0b1496",
      "tree": "5bdc740e7eff7f9166e1b81ba77ce7cb93f1342c",
      "parents": [
        "397b0d0dd5e465d0b4171c254d53bd0c28caae9d"
      ],
      "author": {
        "name": "Christofer Åkersten",
        "email": "akersten@google.com",
        "time": "Fri Mar 23 12:18:42 2018 +0900"
      },
      "committer": {
        "name": "Christofer Åkersten",
        "email": "akersten@google.com",
        "time": "Fri Mar 23 12:18:42 2018 +0900"
      },
      "message": "Hide Media*2 APIs\n\nBug: 76121592\nTest: make update-api\nChange-Id: I5bf3d1a0f42fd88073c54ec1106be7cfe096a5f6\n"
    },
    {
      "commit": "e1a0b347a0719530f53f078da2486774e0770c67",
      "tree": "03a7f9253f2eaaeafbc0214547bb9a9a71f13a50",
      "parents": [
        "4e561f83cbfc1c05955f724db73c72366ad816eb"
      ],
      "author": {
        "name": "Evan Rosky",
        "email": "erosky@google.com",
        "time": "Thu Mar 22 19:37:50 2018 -0700"
      },
      "committer": {
        "name": "Evan Rosky",
        "email": "erosky@google.com",
        "time": "Thu Mar 22 19:37:50 2018 -0700"
      },
      "message": "Added TestApi for default focus highlight\n\nBug: 62864111\nTest: View_DefaultFocusHighlightTest\nChange-Id: I2a74de3274351f0a7662715e723c25f4d7f8f6ed\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": "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": "191ce9c442d08603fe9ae7d53e228fdf88456acc",
      "tree": "c0e6d73d48078b35393a3f95beb90b6f9a206570",
      "parents": [
        "20b7c174c2dffcc0c82f8987e0f3d75f77d9d99e"
      ],
      "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": "Thu Mar 22 16:29:54 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(cherry picked from commit f2f5dc355fa9a962ded0d29368535796aa4116d8)\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": "5437b81696e19e40be3f6f9cc95b8ef14fa93ae3",
      "tree": "c3aa310e3b0f093d25b3260d15c456f207d35d58",
      "parents": [
        "6b71daa0c2d9e01fdf3aa8ce09dbd96c4d2ab8ea"
      ],
      "author": {
        "name": "Brian Young",
        "email": "bcyoung@google.com",
        "time": "Fri Feb 23 18:04:20 2018 +0000"
      },
      "committer": {
        "name": "Brian C. Young",
        "email": "bcyoung@google.com",
        "time": "Thu Mar 22 16:10:40 2018 -0700"
      },
      "message": "Refactor AddUserAuthArgs for extensibility\n\nCreate an interface that encapsulates the common arguments to\nAddUserAuthArgs, add that interface to KeyProtection and\nKeyGenParameterSpec, and refactor AddUserAuthArgs to accept an\ninstance of that interface.\n\nTest: CTS Module CtsKeystoreTestCases\n\nBug: 74017618\n\nMerged-In: I591e34e5d08421ea1c022bbb6e955ee3c01eb435\nChange-Id: I591e34e5d08421ea1c022bbb6e955ee3c01eb435\n(cherry picked from commit df16c56fbf05908e03f3a95a8a3d981bbc2fdb91)\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": "402de825e7d1e27d34e56d71b6e2ef2e541c986d",
      "tree": "31684011dc8ddbcda1dfc619a9f17bb0e87afd11",
      "parents": [
        "87b4c772a5833ce3165f42c9001a72de8f92ee8d"
      ],
      "author": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Thu Mar 22 10:03:06 2018 -0700"
      },
      "committer": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Thu Mar 22 15:03:32 2018 -0700"
      },
      "message": "Don\u0027t show unsupported sdk warning in test harness.\n\nAlso, added test api AM.alwaysShowUnsupportedCompileSdkWarning\nthat allows for forec showing the warning for an activity\ncomponent running in a test harness.\n\nChange-Id: I72f6a8425cb6adc6060c70b2165aa82b459769f7\nFixes: 75455658\nTest: atest CtsActivityManagerDeviceTestCases:PrereleaseSdkTest\n"
    },
    {
      "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": "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": "bc813eb26e3027856114a26312e36e4bad86bd86",
      "tree": "a19f4c10792816809309bf64bba518ea676f7372",
      "parents": [
        "9531b70cae96e8e59d38bd91d636cbe084574f3a"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Tue Mar 20 19:37:46 2018 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Thu Mar 22 13:51:57 2018 -0700"
      },
      "message": "Provide app launch count in UsageStats\n\nThis counts the number of times the app was launched from outside\nthe app and ignores intra-app activity transitions.\n\nIntroduce a new permission for registering to observe app usage.\n\nFixes a bug where Settings couldn\u0027t force the app into another\nbucket if it was recently launched.\n\nBug: 74335821\nFixes: 76100712\nTest: Manual test using Settings\nTest: UsageStatsTest to verify permission change\nChange-Id: Ibd343c1cfa37089a3ac6fc30ba3194e21a9be499\n"
    },
    {
      "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": "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": "ca0c1ac30447f09b4445b7f3760614c5f0e0a9f2",
      "tree": "c6618bfaa809d2c87087a572839ea33692d5ac6a",
      "parents": [
        "4d6dc48d242a643acd846b4892803c8295740b64"
      ],
      "author": {
        "name": "Mohamed Abdalkader",
        "email": "abdalkader@google.com",
        "time": "Tue Mar 20 17:19:29 2018 -0700"
      },
      "committer": {
        "name": "Mohamed Abdalkader",
        "email": "abdalkader@google.com",
        "time": "Thu Mar 22 00:40:01 2018 +0000"
      },
      "message": "Unhide ImsReasonInfo Constructor\n\nTest: builds\nBug: 76033384\nChange-Id: If1101b82f92e45cd417f34356545363f6f9bf322\n"
    },
    {
      "commit": "8686e1f157f9d1e21cb39762d1ec495cc74afdb1",
      "tree": "6422fc51e3feec48a1a53d0c143aecf48f0281bd",
      "parents": [
        "17d3b47e2036f589f29b7436bcbcd27eb0ad1a3e"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Mar 21 16:31:21 2018 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Mar 21 16:42:59 2018 -0700"
      },
      "message": "Add isPivotSet/resetPivot\n\nBug: 74825533\nTest: CTS view tests in topic\nChange-Id: Ib918bc5830d53ee0a83b13ab53ac6e8dd86c869f\n"
    },
    {
      "commit": "7953997160c032d1fa1d2b09636cd38787ba2909",
      "tree": "f133712c526a67f138c9301c7d831d11739c248e",
      "parents": [
        "0efaf2088d8e3ba8ec560aa5eb597ef456b5213e"
      ],
      "author": {
        "name": "Hall Liu",
        "email": "hallliu@google.com",
        "time": "Mon Mar 19 18:12:23 2018 -0700"
      },
      "committer": {
        "name": "Hall Liu",
        "email": "hallliu@google.com",
        "time": "Wed Mar 21 23:39:07 2018 +0000"
      },
      "message": "Split the DownloadStateCallback class into two\n\nUse individually-registered DownloadStatusListener and\nDownloadProgressListener instead to listen for download status and\nprogress, respectively.\n\nBug: 74409377\nTest: cts\nChange-Id: Ifd5289038ffd66eef8bd7916f5256205b49be5f9\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": "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"
    }
  ],
  "next": "5d5d6aa28aa724bd5096037fea4a759d6e35bc30"
}
