)]}'
{
  "log": [
    {
      "commit": "1a622a4215a16b91bb505f62a31cfa8e2185433f",
      "tree": "c9d032fedeb33d5f2822646d8a03329fa06c7c87",
      "parents": [
        "c4ee8133d1ea6b47d2c2c170f55676c033d5c427",
        "51832a756a75d6c379e26135bca25babe4185ea6"
      ],
      "author": {
        "name": "Hall Liu",
        "email": "hallliu@google.com",
        "time": "Thu Aug 09 20:24:18 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Aug 09 20:24:18 2018 +0000"
      },
      "message": "Merge \"IMS: Adding support for TIR/TIP permanent provisioning\""
    },
    {
      "commit": "51832a756a75d6c379e26135bca25babe4185ea6",
      "tree": "e615335ff714ed1f95001da2a9187ed90029e0e1",
      "parents": [
        "bb67bab55fb7fc8a94be7189fe8cbf910d4bbc5c"
      ],
      "author": {
        "name": "Ashit Sood",
        "email": "sooda@codeaurora.org",
        "time": "Wed May 02 11:25:22 2018 -0700"
      },
      "committer": {
        "name": "Ashit Sood",
        "email": "sooda@codeaurora.org",
        "time": "Wed Aug 08 21:27:38 2018 -0700"
      },
      "message": "IMS: Adding support for TIR/TIP permanent provisioning\n\n- Adding ProvisionStatus to ImsSsInfo\n\nTest: Manual\nBug: 79133104\nChange-Id: I26bdfc573a64aaba7d853c1f9cd592fa95e294c0\n"
    },
    {
      "commit": "5e7bbe01c4e764230b25ba7225e968c52ed080e5",
      "tree": "0c1314c7ef8f8d9d4b6fd67f80224a9047cc5602",
      "parents": [
        "d5de710016d230ad6fda32418ba48bc63ba98365",
        "3c1604da8b04d9e43554dada977bbca54bbea313"
      ],
      "author": {
        "name": "Jack Yu",
        "email": "jackyu@google.com",
        "time": "Sun Jul 15 17:12:41 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sun Jul 15 17:12:41 2018 -0700"
      },
      "message": "Merge \"Added documentation for network registration state\"\nam: 3c1604da8b\n\nChange-Id: Icf8f0fff21c1190d3bde21cdbe378d6b75b51506\n"
    },
    {
      "commit": "b494f72750875ca6c2914c585595bcc25ffdf22e",
      "tree": "6b70b0e76f741f060d03125955916b7d564fd9ec",
      "parents": [
        "8424001a04adba75b8209ddbe500a106e2d6483e"
      ],
      "author": {
        "name": "Jack Yu",
        "email": "jackyu@google.com",
        "time": "Tue Jun 05 17:38:56 2018 -0700"
      },
      "committer": {
        "name": "Jack Yu",
        "email": "jackyu@google.com",
        "time": "Fri Jul 13 14:50:02 2018 -0700"
      },
      "message": "Added documentation for network registration state\n\nAlso renamed denial reason to reject cause to match\nthe 3GPP spec.\n\nBug: 73659459\nTest: Build\nChange-Id: Ia67ebf94771c7ff5f5d90f6cdd303cb2716f9186\n(cherry picked from commit b4094993f742fbe9d07bd5783030aa82a3045f79)\n"
    },
    {
      "commit": "f2add90de445f9ec0e7a00b776ff5f1de7b8acdc",
      "tree": "0c72fa7107769cc2c392a8cacda3a27f8ce32abf",
      "parents": [
        "8df845538484627dc2bd8b6bd58845b9acf74848"
      ],
      "author": {
        "name": "Jack Yu",
        "email": "jackyu@google.com",
        "time": "Thu Jul 12 15:10:34 2018 -0700"
      },
      "committer": {
        "name": "Jack Yu",
        "email": "jackyu@google.com",
        "time": "Thu Jul 12 19:41:33 2018 -0700"
      },
      "message": "DO NOT MERGE - Revert \"Hide IWLAN system API\"\n\nThis reverts commit ea440a765e2774320910073e5350bdccd39afb6c, reversing\nchanges made to 0b90c524cb8288f3b8d8111b5724c02630c5b4c6.\n\nTest: Build\nBug: 73659459\nChange-Id: Id5a5147c6478cf10661aebe52b445bd16195885e\n"
    },
    {
      "commit": "7e1be05b1435b37378ab9d6d44af613b1c11d323",
      "tree": "4c818dd3deeb1c9cad530fe79e7aa397b69fe488",
      "parents": [
        "b4094993f742fbe9d07bd5783030aa82a3045f79"
      ],
      "author": {
        "name": "Jack Yu",
        "email": "jackyu@google.com",
        "time": "Thu Jul 12 17:39:12 2018 +0000"
      },
      "committer": {
        "name": "Jack Yu",
        "email": "jackyu@google.com",
        "time": "Thu Jul 12 17:39:12 2018 +0000"
      },
      "message": "Revert \"Added documentation for network registration state\"\n\nThis reverts commit b4094993f742fbe9d07bd5783030aa82a3045f79.\n\nReason for revert: Caused merge conflict. Need to come up with a better solution.\n\nChange-Id: Id7b7f35c25775a7a095b77a90724cf3a0f8daf7e\n"
    },
    {
      "commit": "b4094993f742fbe9d07bd5783030aa82a3045f79",
      "tree": "1ff0c4e94e503768341f536655f026e50034cf20",
      "parents": [
        "c1e5c3ea8205ea4c65fc76070210fce714c08be5"
      ],
      "author": {
        "name": "Jack Yu",
        "email": "jackyu@google.com",
        "time": "Tue Jun 05 17:38:56 2018 -0700"
      },
      "committer": {
        "name": "Jack Yu",
        "email": "jackyu@google.com",
        "time": "Wed Jul 11 11:08:48 2018 -0700"
      },
      "message": "Added documentation for network registration state\n\nAlso renamed denial reason to reject cause to match\nthe 3GPP spec.\n\nBug: 73659459\nTest: Build\nChange-Id: Ia7b4a53070c06edd98ae767fd6f56c4000d8e4d0\n"
    },
    {
      "commit": "b2749539c05cfb296a5729fcba887057b9c94307",
      "tree": "36926edb1904c481433d0ea52583efe49dfeb90d",
      "parents": [
        "7db23752abfbb31111969ee335a36b42ceeedc5e",
        "8c69bcbb8f626fee128d8f771568fbc22615a9f5"
      ],
      "author": {
        "name": "nharold",
        "email": "nharold@google.com",
        "time": "Fri Jun 08 17:07:11 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 08 17:07:11 2018 +0000"
      },
      "message": "Merge changes from topic \"ipsec-sync-with-pi\"\n\n* changes:\n  Disable the AppOp Restriction for IpSec Tunnels\n  Rework Exception Handling for IpSecManager\n  Update IpSecManager to use InetAddress and prefixLen\n  Add AppOps Checks for MANAGE_IPSEC_TUNNELS\n  Add MANAGE_IPSEC_TUNNELS Permission\n"
    },
    {
      "commit": "fdda5697d7ccc61b5692a8b2e5116afcb4921c09",
      "tree": "cb5de16a444bc2ce251adcb193d8700340a06d2e",
      "parents": [
        "21208eeccc0f0b5cffebda5ec972bdc765afe6a8"
      ],
      "author": {
        "name": "Benedict Wong",
        "email": "benedictwong@google.com",
        "time": "Tue Apr 03 20:30:54 2018 -0700"
      },
      "committer": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Thu Jun 07 18:42:52 2018 -0700"
      },
      "message": "Update IpSecManager to use InetAddress and prefixLen\n\nLinkAddress constructors are currently @hide; this change updates\nIpSecManager to use InetAddress and prefixLen, and then construct a\nLinkAddress internally. LinkAddress is used over the binder interface to\nIpSecService to ensure validity.\n\nBug: 77528639\nTest: CTS, Java unit tests ran on walleye\nMerged-In: I19e124adef6d9f4992d8293db3190bcf74c95848\nChange-Id: I19e124adef6d9f4992d8293db3190bcf74c95848\n(cherry picked from commit 3f2c54b7820c3a568890700479230966fdbcf0a4)\n"
    },
    {
      "commit": "01b61dbd53e23db6f5a6d52eec39ff2d4c1e5501",
      "tree": "bee670a37ee36eddf3459e118f12f5dd16b7dc40",
      "parents": [
        "d27a9f4465c7159b046a3087b7c4d1fad3c2a7c5"
      ],
      "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 Jun 07 18:42:52 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\nMerged-In: I0f618373b500c493ef2211bece681f74652a1833\nChange-Id: I0f618373b500c493ef2211bece681f74652a1833\n(cherry picked from commit 159788455c79fa47847d0c40fcee7aceff2551ae)\n"
    },
    {
      "commit": "4ae252f80fc8548ac3aa3d27e07247704cac72f6",
      "tree": "12760c9a6eccc2c3b889d9c73c56e016aaf7cee4",
      "parents": [
        "b044b885cf51ef350745e9178e763c0b4db8a86a"
      ],
      "author": {
        "name": "Brad Ebinger",
        "email": "breadley@google.com",
        "time": "Thu Mar 29 11:12:24 2018 -0700"
      },
      "committer": {
        "name": "Brad Ebinger",
        "email": "breadley@google.com",
        "time": "Wed Jun 06 15:55:04 2018 -0700"
      },
      "message": "Unhide @SystemApi Constructor\n\nThere are a few small classes that never got properly\nexposed as @SystemApi. These classes were not caught\nbecause vendors currently build against the source\ndirectly and have access to hidden APIs. We can not\nchange the vendor code at this point (different vendor\ncode for each year for all supported devices), but\nwe can start pulling back the API for new devices.\n\n1) Keep all public mutable fields @hide and put\ntodo (and file bug b/74402619) to make fields\nprivate or final.\n\n2) Add public constructor that populates all fields\nso that @hide public mutable fields can be set to\nprivate/final in the future.\n\n3) Provide getters for fields that will not be\npublic in the future.\n\nIn this way, we can make minimal API changes for P,\nsupport new vendor/3rd party ImsServices, and phase\nout old ImsService implementations that still build\nagainst the source instead of using the correct\n@SystemApi.\n\nBug: 77278031\nBug: 74402619\nTest: Manual\nMerged-In: Idbf2a71018f1bd06f8445b07fc52bc65cb6776f6\nChange-Id: Ifa3b6d0cbdb12e92efc699b760ca874768a89a7c\n"
    },
    {
      "commit": "e19b33e04639bf46a2d57103da423f0635033efb",
      "tree": "440e9ab329488f23e93f35da395d08a6317347a9",
      "parents": [
        "2b24f8cf96e2dafba7c433c854ae556862d79649"
      ],
      "author": {
        "name": "Pavel Maltsev",
        "email": "pavelm@google.com",
        "time": "Thu Mar 22 11:41:32 2018 -0700"
      },
      "committer": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Wed Jun 06 08:22:51 2018 +0000"
      },
      "message": "Add OEM_PAID capability to system api\n\nSome system apps should be able to request OEM_PAID networks.  This\nmakes a lot of sense when Android is used as in-vehicle infotainment\nsystems.\n\nClean cherry-pick of ag/3782591\n\nBug: 68762530\nTest: runtest -x frameworks/base/tests/net/ -c android.net.NetworkCapabilitiesTest\nChange-Id: I306f060c5a386ff4b82cd99a03dc037ce60ded6a\nMerged-In: Ic164c4a29cd449a31b2f1c12c8c345bcc5dc77fa\nMerged-In: I6e9c4130db23a4f1c89ce7e9071ae519a2b0b7ec\n"
    },
    {
      "commit": "f122c22c5082d1d96ece7535881914f3786552ef",
      "tree": "d1a667a34d7f7c42ad37851d166d36df6b590afe",
      "parents": [
        "97208b949b1ff2999dfb7d43843a318655f693d4",
        "982ceb81a909ac95ea2a104b8528e9d683961d96"
      ],
      "author": {
        "name": "Brad Ebinger",
        "email": "breadley@google.com",
        "time": "Thu May 31 14:02:10 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu May 31 14:02:10 2018 -0700"
      },
      "message": "Merge \"IMS: Support for Implicit Call Rejection\" am: 19d032b695\nam: 982ceb81a9\n\nChange-Id: Icc22c412ab47c5a4ca895dfc6c3389a3a6202200\n"
    },
    {
      "commit": "275b1358eba46f2eb7f27788ed4222134561889a",
      "tree": "3508cee7f1af0098a92d5fe27ac60d3c277391a7",
      "parents": [
        "39ac9ffe271df436435cc422456f706d6770f6f9"
      ],
      "author": {
        "name": "Omkar Kolangade",
        "email": "omkark@codeaurora.org",
        "time": "Mon Apr 02 12:54:00 2018 -0700"
      },
      "committer": {
        "name": "Omkar Kolangade",
        "email": "omkark@codeaurora.org",
        "time": "Thu May 31 01:37:47 2018 +0000"
      },
      "message": "IMS: Support for Implicit Call Rejection\n\nAdding an API in MmTelFeature to allow IMS\nService to report the reasons for implicit\ncall rejections by lower layers. Corresponding\nImsReasonInfo codes are also being added.\n\nThe call rejections are not related to any\ncall session or a call that Framework is aware\nof.\n\nChange-Id: Ie47a239856db21e84d199a7620edf7b6ceeb81bc\n"
    },
    {
      "commit": "f94b4936b40dab2b56cf97185b1257e0abb3d5fd",
      "tree": "751e73a1487ff8016ef7c26386122c3a3b809d76",
      "parents": [
        "52ecba88d181e64da8bd16f7e2d771812bd8a25b"
      ],
      "author": {
        "name": "David Chen",
        "email": "dwchen@google.com",
        "time": "Mon May 21 16:09:32 2018 -0700"
      },
      "committer": {
        "name": "David Chen",
        "email": "dwchen@google.com",
        "time": "Mon May 21 17:40:56 2018 -0700"
      },
      "message": "Marks deprecated StatsManager APIs.\n\nMarking some API\u0027s as deprecated, so users avoid getting confused.\n\nTest: Test that build works.\nBug: 80099023\nChange-Id: I4b3d4e4fa1ee3d706e49b8180aa4d0ad0e7d6eeb\n"
    },
    {
      "commit": "272769c41a7b164f8bd73ed5161e6292e08a2f6e",
      "tree": "3168dbf3c61a9a55b4c91aa2f41b7392e5001860",
      "parents": [
        "1c0ef18c39b07d396d5c8b341b17d1e2b67d8d12",
        "1d7e446f6ee50c6e08852106fb9d5b7b1ddac3bb"
      ],
      "author": {
        "name": "Xiangyu/Malcolm Chen",
        "email": "refuhoo@google.com",
        "time": "Tue May 15 18:54:50 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 15 18:54:50 2018 +0000"
      },
      "message": "Merge \"Unhide constructors of DataService and NetworkService.\""
    },
    {
      "commit": "1d7e446f6ee50c6e08852106fb9d5b7b1ddac3bb",
      "tree": "5b0e50055f8fdb711678b1ef2580c416e2414728",
      "parents": [
        "de65acb9159c5c98940e7f01e27f8a49bc0536ce"
      ],
      "author": {
        "name": "Malcolm Chen",
        "email": "refuhoo@google.com",
        "time": "Tue Apr 03 11:48:56 2018 -0700"
      },
      "committer": {
        "name": "Xiangyu/Malcolm Chen",
        "email": "refuhoo@google.com",
        "time": "Mon May 14 23:27:42 2018 +0000"
      },
      "message": "Unhide constructors of DataService and NetworkService.\n\nDataService and NetworkService are System level classes. We shouldn\u0027t\nhide their constructors otherwise their System level sub-class\ncan\u0027t be instantiated properly.\n\nTest: gts\nBug: 77531655\nChange-Id: I1a58b4857dbcf939ac124e20eb0a801ad5a9b597\nMerged-In: I1a58b4857dbcf939ac124e20eb0a801ad5a9b597\n"
    },
    {
      "commit": "4ff8de609baf301dc44a9ffcbe1436fa09fd16c8",
      "tree": "0594f5f3ba2a4c2f4a4866255132b46e75001b15",
      "parents": [
        "b686b9cf6df8b2416083c7f80bf75a72cd9046f7"
      ],
      "author": {
        "name": "fionaxu",
        "email": "fionaxu@google.com",
        "time": "Tue May 08 11:57:53 2018 -0700"
      },
      "committer": {
        "name": "Chen Xu",
        "email": "fionaxu@google.com",
        "time": "Fri May 11 15:54:45 2018 +0000"
      },
      "message": "add install action for carrier id to system API\n\nBug: 79426800\nTest: Manual\nChange-Id: Icd3e9ae527dc17ab5762aa57df596f058de08d5b\n(cherry picked from commit 2776ed56b846ff34e45467f7618a679049d16f3f)\nMerged-in: Icd3e9ae527dc17ab5762aa57df596f058de08d5b\n"
    },
    {
      "commit": "2776ed56b846ff34e45467f7618a679049d16f3f",
      "tree": "19921e59ac06c3e0d9995ba90b7f2a74a7a009af",
      "parents": [
        "13d650d7cfbc328a3d02b9a252646252cacfac9e"
      ],
      "author": {
        "name": "fionaxu",
        "email": "fionaxu@google.com",
        "time": "Tue May 08 11:57:53 2018 -0700"
      },
      "committer": {
        "name": "fionaxu",
        "email": "fionaxu@google.com",
        "time": "Tue May 08 15:25:40 2018 -0700"
      },
      "message": "add install action for carrier id to system API\n\nBug: 79426800\nTest: Manual\nChange-Id: Icd3e9ae527dc17ab5762aa57df596f058de08d5b\n"
    },
    {
      "commit": "3990ee1c9fcd8f801220edec94e6bef3009809b5",
      "tree": "c6812678c94be38c009d8b6070cf0514c56ae0fd",
      "parents": [
        "10fb6582eb9c0e84938af9a2be0017e35eb59c5e"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Apr 11 10:19:55 2018 -0600"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Apr 11 13:49:21 2018 -0600"
      },
      "message": "Clean up APIs before declaring API 28.\n\nAs part of finalizing an SDK, we need to ensure that no new APIs are\nmarked @Deprecated, since they\u0027re typically cleanup that someone\nforgot to finish.\n\nSomeone forgot to replace Slice.getTimestamp() with Slice.getLong().\n\nBug: 77588754\nTest: builds, boots\nExempt-From-Owner-Approval: SDK finalization\nChange-Id: Ic0ec91a43d161a69c1e840c42046ad500b7aeca0\n"
    },
    {
      "commit": "10fb6582eb9c0e84938af9a2be0017e35eb59c5e",
      "tree": "01a292ff62d1ea35c60a44f57094d820f1f6fd56",
      "parents": [
        "9054656c203a9188f4283587d75de896087990f2",
        "a7025bae0ac1f0776a004e7b7a09c48993c09d80"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Apr 11 18:36:31 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 11 18:36:31 2018 +0000"
      },
      "message": "Merge \"DO NOT MERGE - Hide IWLAN system API\" into pi-dev"
    },
    {
      "commit": "68e5f0f2427398db1187cfaf8454f92fd335f7b6",
      "tree": "41995bcd5ac32d0e1d4728ba21dc0cd35d153871",
      "parents": [
        "6b317915e8ffa28066744e597fd5404a09240f22",
        "0486b927b3cc83113ef7b863f4a7331c8182d1a4"
      ],
      "author": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Wed Apr 11 17:09:07 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 11 17:09:07 2018 +0000"
      },
      "message": "Merge \"[DO NOT MERGE] - Hide Tunnel Mode IpSec API\" into pi-dev"
    },
    {
      "commit": "6b317915e8ffa28066744e597fd5404a09240f22",
      "tree": "35031577fccd8ab3250be79f6905727ce94308ed",
      "parents": [
        "87646514be50390c251e00e21b31b32f2eb10f1c",
        "4f71629002ae1da22ca1c07ce11b9cca9b272d97"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Apr 11 17:02:06 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 11 17:02:06 2018 +0000"
      },
      "message": "Merge \"StatsManager throws exceptions\" into pi-dev"
    },
    {
      "commit": "4d1b57dad36984dabd1924e41a86640b9c51684e",
      "tree": "fdd840b8e0765999f838f5b0266c6ec720f0a0e4",
      "parents": [
        "c826eec11f09e08d3ffd463df1d7610e918041b1",
        "b95c90ce2d10a93c680b2ddbdf7ad61feb3abf5a"
      ],
      "author": {
        "name": "Bo Zhu",
        "email": "bozhu@google.com",
        "time": "Wed Apr 11 15:58:27 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 11 15:58:27 2018 +0000"
      },
      "message": "Merge \"Add an API to check whether the recoverable keystore is enabled\" into pi-dev"
    },
    {
      "commit": "0486b927b3cc83113ef7b863f4a7331c8182d1a4",
      "tree": "4b2c917791440d8f0478762362c96874226da957",
      "parents": [
        "3c33d2b997462b35382da0fca7e8afd07108d4cd"
      ],
      "author": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Mon Apr 09 21:24:35 2018 -0700"
      },
      "committer": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Tue Apr 10 19:24:07 2018 -0700"
      },
      "message": "[DO NOT MERGE] - Hide Tunnel Mode IpSec API\n\nHide the tunnel mode of the IpSec API because\nthere is a disincentive to launch it without\na supported customer use case. That use case,\nIWLAN is having its APIs hidden, so we should\nhide these as well to avoid constraining future\nimplementation.\n\nAlso, due to issues with the lifetime of the NATT\nmanagement object, this API needs to be hidden\nuntil such time as the lifetime of the Keepalive\ncan be handled independently of the lifetime of\na Transform.\n\nBug: 72523623\nTest: compilation (api removal)\nChange-Id: I076030bdbab1cd7d69f6a034577d529970b050dc\n"
    },
    {
      "commit": "4f71629002ae1da22ca1c07ce11b9cca9b272d97",
      "tree": "9df07317b627a0be00312edbb17969699da95b4f",
      "parents": [
        "135d82ac4526e2d5fa56484e80bce86dd10431ea"
      ],
      "author": {
        "name": "Bookatz",
        "email": "bookatz@google.com",
        "time": "Tue Apr 10 17:15:12 2018 -0700"
      },
      "committer": {
        "name": "Bookatz",
        "email": "bookatz@google.com",
        "time": "Tue Apr 10 19:07:32 2018 -0700"
      },
      "message": "StatsManager throws exceptions\n\nWhen StatsManager fails to connect to statsd, it now throws an exception\nfor the caller to catch. It also throws an exception of the config being\nadded is of an unreadable format.\n\nDue to backwards compatibility issues, the old APIs could not be\nchanged, so new ones were made to replace the old ones. The old ones are\nnow temporary and will be removed when the compatibility issue is\nresolved.\n\nBug: 77648233\nTest: gts-tradefed run gts-dev --module GtsStatsdHostTestCases\nChange-Id: Ibea05883a29b9b3ef9927d2f8fe295eb99832ab7\n"
    },
    {
      "commit": "96212bca06842f223a0e9e377e2c00a2008c96a2",
      "tree": "b97f1ad3d63d6a863eb02b6c25de1c68ae2d17e2",
      "parents": [
        "65317bac02e993d1313a1958a8497ff5f2a2ecd5"
      ],
      "author": {
        "name": "Suprabh Shukla",
        "email": "suprabh@google.com",
        "time": "Tue Apr 10 15:04:51 2018 -0700"
      },
      "committer": {
        "name": "Suprabh Shukla",
        "email": "suprabh@google.com",
        "time": "Tue Apr 10 17:34:12 2018 -0700"
      },
      "message": "Review of suspend/unsuspend APIs\n\nClarified the package extras bundle returned from\ngetSuspendedPackageAppExtras.\nMoved the bundle arg to the last in LauncherApps.onPackagesSuspended and\nclarified the contents of the Bundle.\nisPackageSuspended(String) now throws a NameNotFoundException if the\npackage is not found.\nAlso, removed a permission check from isPackageSuspendedForUser.\n\nTest: builds, boots, existing tests:\natest com.android.server.pm.SuspendPackagesTest\n\nBug: 77518983, 77517955, 77507744, 77801528\nChange-Id: I06b5f69f8f8a079c206863cb6122e90be58366cd\n"
    },
    {
      "commit": "a7025bae0ac1f0776a004e7b7a09c48993c09d80",
      "tree": "f274b914e7f62d570180b995ddd686d82495b77b",
      "parents": [
        "66b90a035f13d3ad0f7399cd8978c890a38ec935"
      ],
      "author": {
        "name": "Jack Yu",
        "email": "jackyu@google.com",
        "time": "Tue Apr 10 17:13:19 2018 -0700"
      },
      "committer": {
        "name": "Jack Yu",
        "email": "jackyu@google.com",
        "time": "Tue Apr 10 17:15:31 2018 -0700"
      },
      "message": "DO NOT MERGE - Hide IWLAN system API\n\nHide IWLAN system API for P. Will expose those APIs when IWLAN\nfull mode support is in place.\n\nTest: Telephony sanity tests\nBug: 64132030\nChange-Id: Ic56a04538fc532a7326c8a9234182899d52f15c1\n"
    },
    {
      "commit": "b95c90ce2d10a93c680b2ddbdf7ad61feb3abf5a",
      "tree": "304d495eaf9325eabe617a07e47fd5659861fdec",
      "parents": [
        "69ade357413ea66fab63fe13be2efd68fd8e3a4f"
      ],
      "author": {
        "name": "Bo Zhu",
        "email": "bozhu@google.com",
        "time": "Tue Apr 10 13:58:25 2018 -0700"
      },
      "committer": {
        "name": "Bo Zhu",
        "email": "bozhu@google.com",
        "time": "Tue Apr 10 14:50:21 2018 -0700"
      },
      "message": "Add an API to check whether the recoverable keystore is enabled\n\nBug: 77690455\nTest: It builds\nChange-Id: I94be0e341d8a3e0fa9a5f9af8beda60e08a449e8\n"
    },
    {
      "commit": "e901d69ea66c990d8ba728a75622e39e9543f397",
      "tree": "5755ac22f0b66ed6b374bb5947fbedad47219e85",
      "parents": [
        "5f205b17ae5774f1436b040205e08379c0cb8fff",
        "45b9e40a4f23f36be88f7474660e931b58aedf1e"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 10 20:15:24 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 10 20:15:24 2018 +0000"
      },
      "message": "Merge \"setPackagesSuspended now overwrites all the state\" into pi-dev"
    },
    {
      "commit": "082147cfe180e7e0117adaf3b1dfa84d7f01570e",
      "tree": "d23b6698e8808a23c24969d89dd9384a94e48e19",
      "parents": [
        "0d130cbc8653c5136f7fa38f93a7c962a33d90eb",
        "122df868919f3e2b9a92d6e9dc66808884f3f080"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 10 11:28:44 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 10 11:28:44 2018 +0000"
      },
      "message": "Merge \"Added system-wide minimum brightness curve.\" into pi-dev"
    },
    {
      "commit": "45b9e40a4f23f36be88f7474660e931b58aedf1e",
      "tree": "0995ddafa8f7908bfec012bd1df863b212e4a1d7",
      "parents": [
        "daafeb35a1a10198e1cff62831ffefa8676fa185"
      ],
      "author": {
        "name": "Suprabh Shukla",
        "email": "suprabh@google.com",
        "time": "Mon Apr 09 17:33:53 2018 -0700"
      },
      "committer": {
        "name": "Suprabh Shukla",
        "email": "suprabh@google.com",
        "time": "Mon Apr 09 17:49:54 2018 -0700"
      },
      "message": "setPackagesSuspended now overwrites all the state\n\nEarlier setPackagesSuspended ignored the rest of the paramters when\nsuspend state did not change. This was a problem because then there was\nno good way to update the other parameters without unsuspending the app,\nwhich is not desirable.\nRemoved setSuspendedPackageAppExtras as now they can be update with this\napi.\nAlso sending broadcasts when packages get unsuspended due to suspending\npackage removed.\n\nTest: Existing tests pass:\natest com.android.server.pm.PackageUserStateTest\natest com.android.server.pm.SuspendPackagesTest\natest com.android.server.pm.PackageManagerSettingsTests\n\nBug: 77522553\nChange-Id: I72a3c228d3d65c430e242da97b2bc6997ec6a135\n"
    },
    {
      "commit": "5e0d36041172a6393e8028184854d3c175f48051",
      "tree": "11c7d9a296b4ef9308e951ea2918c88f03d5cdba",
      "parents": [
        "6c44f1aa3501c3dbdcc1f61effab0c1e88b32837",
        "0fc6d03b628c8cbe80e3c2c14aaf8c6944b32d1e"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@google.com",
        "time": "Mon Apr 09 23:20:43 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 09 23:20:43 2018 +0000"
      },
      "message": "Merge \"API council requested tweaks to SubscriptionPlan.\" into pi-dev"
    },
    {
      "commit": "28faced9734d509f8829ea710fe93bf33a4be324",
      "tree": "51ece7a10965b90f012c6b22b98a820f5f13f1ec",
      "parents": [
        "bb96c13c7027f187d08746470434e81387edaa36",
        "da26eb3382de885a01933f55dec9b19505cb763f"
      ],
      "author": {
        "name": "Fyodor Kupolov",
        "email": "fkupolov@google.com",
        "time": "Fri Apr 06 17:57:10 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 06 17:57:10 2018 +0000"
      },
      "message": "Merge \"Added dontSendToRestrictedApps broadcast option\" into pi-dev"
    },
    {
      "commit": "122df868919f3e2b9a92d6e9dc66808884f3f080",
      "tree": "40d3084241885a2473d23b3bb74fc51ff5eab9b7",
      "parents": [
        "b175d0db8f2cf175a6eaa9cd29a7105ab3371729"
      ],
      "author": {
        "name": "Dan Gittik",
        "email": "dangittik@google.com",
        "time": "Wed Mar 28 16:59:22 2018 +0100"
      },
      "committer": {
        "name": "Dan Gittik",
        "email": "dangittik@google.com",
        "time": "Fri Apr 06 17:04:45 2018 +0100"
      },
      "message": "Added system-wide minimum brightness curve.\n\nThe minimum brightness curve guarantess that any brightness curve\nthat dips below it is rejected by the system.\nThis prevent auto-brightness from setting the screen so dark as to\nprevent the user from resetting or disabling it, and maps lux to\nthe absolute minimum nits that are still readable in that ambient\nbrightness.\n\nTest: atest BrightnessConfigurationTest.\n\nFixes: 77176207\n\nChange-Id: Ibd1e83e9b147f3849d6c907f828cbe5950c8367f\n"
    },
    {
      "commit": "892ebd02856f82fac9006babbc9aff43cc4bf71e",
      "tree": "2fead9dee3a5ce2aa937f4e9460c9714d7c6831e",
      "parents": [
        "977837acd69e74ec3149a48d90cfa3b01a7217b7",
        "1b2f37401818b04cf4908d5aa9017eab44fe5662"
      ],
      "author": {
        "name": "Rubin Xu",
        "email": "rubinxu@google.com",
        "time": "Fri Apr 06 12:54:24 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 06 12:54:24 2018 +0000"
      },
      "message": "Merge \"Tweak SystemUpdatePolicy APIs\" into pi-dev"
    },
    {
      "commit": "4147a83ae5709bdb22986b49798f05488e4579f1",
      "tree": "32faa306ecb43e0de8f0cf697762b568e48232df",
      "parents": [
        "ddeaefb546c15f26bf7d4372a0d3e000463c7a5e",
        "c157e21249b01cca18e6712d69c719f245db51a7"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Apr 06 12:28:09 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 06 12:28:09 2018 +0000"
      },
      "message": "Merge \"Revert \"Remove deprecated RecoveryController API.\"\" into pi-dev"
    },
    {
      "commit": "c157e21249b01cca18e6712d69c719f245db51a7",
      "tree": "7f093cc71f0ce933bde4f8dcbf5effaecd877ae5",
      "parents": [
        "0d55aa387a4ec65899fc82a1391e5533c85c3edb"
      ],
      "author": {
        "name": "Robert Berry",
        "email": "robertberry@google.com",
        "time": "Fri Apr 06 10:13:16 2018 +0000"
      },
      "committer": {
        "name": "Robert Berry",
        "email": "robertberry@google.com",
        "time": "Fri Apr 06 10:30:44 2018 +0000"
      },
      "message": "Revert \"Remove deprecated RecoveryController API.\"\n\nThis reverts commit 0d55aa387a4ec65899fc82a1391e5533c85c3edb.\n\nReason for revert: aps_sidecar binary is still using some of these @removed APIs. Although HEAD of auth_folsom is fixed, aps_sidecar burned in framework is old.\n\nBug: 77629807\nChange-Id: I2f03c7d12de30cc2eebd91bb65646caaa00fcd1d\n"
    },
    {
      "commit": "271ba383b6bfa07a97e4f5dd65a89679e0270bd7",
      "tree": "5a62552c60c64249b12f8d583b9038359f8f43c6",
      "parents": [
        "d5a3d881679ed122758bb37c7fa3e8726952b8a8",
        "83f59c61dd709cbdda6900294184135e40a22c57"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Apr 06 00:52:32 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 06 00:52:32 2018 +0000"
      },
      "message": "Merge \"Unhide constructors of DataService and NetworkService.\" into pi-dev"
    },
    {
      "commit": "b172d5b4375ecb1895d3d7bed3d94e4fac3551a2",
      "tree": "80bac1bb38bd117cf15ce1e4d20b0298bc37a00c",
      "parents": [
        "a43acdabd40d069e2534a6b7978b715f9602af1a",
        "3f2c54b7820c3a568890700479230966fdbcf0a4"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Apr 06 00:23:52 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 06 00:23:52 2018 +0000"
      },
      "message": "Merge \"Update IpSecManager to use InetAddress and prefixLen\" into pi-dev"
    },
    {
      "commit": "83f59c61dd709cbdda6900294184135e40a22c57",
      "tree": "af7a2cb389b29a79e718c571e2faa33c89eba957",
      "parents": [
        "2d3e4b743713ea4c5fbe321a3f5bd225d35aba65"
      ],
      "author": {
        "name": "Malcolm Chen",
        "email": "refuhoo@google.com",
        "time": "Tue Apr 03 11:48:56 2018 -0700"
      },
      "committer": {
        "name": "Malcolm Chen",
        "email": "refuhoo@google.com",
        "time": "Thu Apr 05 15:02:17 2018 -0700"
      },
      "message": "Unhide constructors of DataService and NetworkService.\n\nDataService and NetworkService are System level classes. We shouldn\u0027t\nhide their constructors otherwise their System level sub-class\ncan\u0027t be instantiated properly.\n\nTest: gts\nBug: 77531655\nChange-Id: I1a58b4857dbcf939ac124e20eb0a801ad5a9b597\n"
    },
    {
      "commit": "822ce4f3aa0c6df1b58b66d342694957ba63b4f9",
      "tree": "80f0c7a2f3659ac51c5d68f3d8f94c83d98e26a9",
      "parents": [
        "d2c218f78a0a42717337aa49d3b7fa5390afa9ad",
        "3c3af1406e9fc8afbe9593df6c23fe3d4daa6b42"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Apr 05 21:15:19 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 05 21:15:19 2018 +0000"
      },
      "message": "Merge \"Activity interceptor dialog for suspended apps\" into pi-dev"
    },
    {
      "commit": "3f2c54b7820c3a568890700479230966fdbcf0a4",
      "tree": "8e48c674f80b201bbc7393850cbaed5bb0aaf8ad",
      "parents": [
        "0c2b3185b21b7f84a69559b0b0844ae41af7409f"
      ],
      "author": {
        "name": "Benedict Wong",
        "email": "benedictwong@google.com",
        "time": "Tue Apr 03 20:30:54 2018 -0700"
      },
      "committer": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Thu Apr 05 17:41:11 2018 +0000"
      },
      "message": "Update IpSecManager to use InetAddress and prefixLen\n\nLinkAddress constructors are currently @hide; this change updates\nIpSecManager to use InetAddress and prefixLen, and then construct a\nLinkAddress internally. LinkAddress is used over the binder interface to\nIpSecService to ensure validity.\n\nBug: 77528639\nTest: CTS, Java unit tests ran on walleye\nChange-Id: I19e124adef6d9f4992d8293db3190bcf74c95848\n"
    },
    {
      "commit": "37317e166867a569dae7e5cbd8de8439eae57439",
      "tree": "cd7d9393e66d9c5f64313bfbc09a430f31a57b2e",
      "parents": [
        "b9c661f79ff0ee4e1dfff06f21f572c3a5fb9dc8",
        "39ccc7e388bb6e5e6972497258750c06d0a4e959"
      ],
      "author": {
        "name": "Jan Althaus",
        "email": "jalt@google.com",
        "time": "Thu Apr 05 16:53:17 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 05 16:53:17 2018 +0000"
      },
      "message": "Merge \"Makes TCS methods non-abstract\" into pi-dev"
    },
    {
      "commit": "39ccc7e388bb6e5e6972497258750c06d0a4e959",
      "tree": "72c70a89ffe34b918de5f8bffba4875ee802d1b9",
      "parents": [
        "b2e6e45d009e7c9148e69bf2c1f0b46917bee7b0"
      ],
      "author": {
        "name": "Jan Althaus",
        "email": "jalt@google.com",
        "time": "Wed Apr 04 13:56:40 2018 +0200"
      },
      "committer": {
        "name": "Jan Althaus",
        "email": "jalt@google.com",
        "time": "Thu Apr 05 17:26:03 2018 +0200"
      },
      "message": "Makes TCS methods non-abstract\n\nThis only affects System API\n\nBug: 77563695\nTest: bit FrameworksCoreTests:android.view.textclassifier.TextClassificationManagerTest\nTest: bit CtsViewTestCases:android.view.textclassifier.cts.TextClassificationManagerTest\nTest: bit CtsWidgetTestCases:android.widget.cts.TextViewTest\nTest: bit FrameworksCoreTests:android.widget.TextViewActivityTest\nTest: bit FrameworksCoreTests:android.view.textclassifier.TextClassificationTest\nTest: bit FrameworksCoreTests:android.view.textclassifier.TextSelectionTest\nTest: bit FrameworksCoreTests:android.view.textclassifier.TextLinksTestBug:\nChange-Id: Ie927ffe3a4678b7a622c139a5431b89e8f22c6e4\n"
    },
    {
      "commit": "1b2f37401818b04cf4908d5aa9017eab44fe5662",
      "tree": "3ca5ce9dfd72b072d5109066de2dee46b749ad25",
      "parents": [
        "b2e6e45d009e7c9148e69bf2c1f0b46917bee7b0"
      ],
      "author": {
        "name": "Rubin Xu",
        "email": "rubinxu@google.com",
        "time": "Wed Mar 28 14:54:08 2018 +0100"
      },
      "committer": {
        "name": "Rubin Xu",
        "email": "rubinxu@google.com",
        "time": "Thu Apr 05 14:26:52 2018 +0100"
      },
      "message": "Tweak SystemUpdatePolicy APIs\n\n* Introduce a FreezePeriod class that represents a single freeze period\n  and is defined by two MonthDay instances.\n* Add ERROR_UNKNOWN to ValidationFailedException\n* Make SystemUpdatePolicy final\n* Document SystemUpdatePolicy.InstallationOption and add IntDef to getType()\n\nTest: runtest frameworks-services -c com.android.server.devicepolicy.SystemUpdatePolicyTest\nTest: cts-tradefed run cts-dev -m CtsDevicePolicyManagerTestCases -t com.android.cts.devicepolicy.DeviceOwnerTest#testSystemUpdatePolicy\nTest: gts-tradefed run gts-dev --module GtsGmscoreHostTestCases --test com.google.android.gts.devicepolicy.DeviceOwnerTest#testSystemUpdatePolicy\nBug: 74976911\nChange-Id: I85cf636c3a98c97bd03b7b296c3130028051a791\n"
    },
    {
      "commit": "3c3af1406e9fc8afbe9593df6c23fe3d4daa6b42",
      "tree": "6e85c622f7d388974527b008b75cfc15e21d691e",
      "parents": [
        "53a77b615c6917b10ea9c73b25ddde7082995e48"
      ],
      "author": {
        "name": "Suprabh Shukla",
        "email": "suprabh@google.com",
        "time": "Fri Mar 30 00:28:37 2018 -0700"
      },
      "committer": {
        "name": "Suprabh Shukla",
        "email": "suprabh@google.com",
        "time": "Wed Apr 04 18:40:19 2018 -0700"
      },
      "message": "Activity interceptor dialog for suspended apps\n\nAdded an AlertActivity to intercept the start for an activity belonging\nto a suspended app. More details will be shown if the suspending app\nalso defines an activity to handle the API action\nSHOW_SUSPENDED_APP_DETAILS.\n\nTest: Added tests to existing classes. Can be run via:\natest com.android.server.pm.SuspendPackagesTest\natest com.android.server.pm.PackageManagerSettingsTests\natest com.android.server.pm.PackageUserStateTest\n\nBug: 75332201\nChange-Id: I85dc4e9efd15eedba306ed5b856f651e3abd3e99\n"
    },
    {
      "commit": "da26eb3382de885a01933f55dec9b19505cb763f",
      "tree": "4940a9a25e3c8eaf6e6a6dcb6490324118914cc8",
      "parents": [
        "b4da14cde90711daeceb5f460b5bc4e5dda89cc5"
      ],
      "author": {
        "name": "Fyodor Kupolov",
        "email": "fkupolov@google.com",
        "time": "Fri Mar 30 16:01:26 2018 -0700"
      },
      "committer": {
        "name": "Fyodor Kupolov",
        "email": "fkupolov@google.com",
        "time": "Wed Apr 04 16:39:24 2018 -0700"
      },
      "message": "Added dontSendToRestrictedApps broadcast option\n\nSets whether pending intent can be sent for an application with\nbackground restrictions\n\nTest: manual\nBug: 77237719\nChange-Id: I9acc2471f1dbd657ed9a6dd93888e04a6ae48d61\n"
    },
    {
      "commit": "0fc6d03b628c8cbe80e3c2c14aaf8c6944b32d1e",
      "tree": "0dd261554c127a0c8ba9402edece54ef65f9363e",
      "parents": [
        "b622906dc51a437c2891d004f77039c5ad157a77"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Mar 30 16:25:11 2018 -0600"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Apr 04 16:06:27 2018 -0600"
      },
      "message": "API council requested tweaks to SubscriptionPlan.\n\nReturn new shiny Range\u003c\u003e object instead of Pair\u003c\u003e.  Tell developers\nwhat permission to check on refresh broadcast.  Describe what\nexceptions might be thrown, and that an empty list is okay.\n\nAllow creation of plans with richer Period object, instead of forcing\nthem into rigid week or day options.\n\nProtect SubscriptionPlan broadcast.\n\nTest: atest android.util.RecurrenceRuleTest\nTest: atest com.android.server.NetworkPolicyManagerServiceTest\nBug: 74945820\nChange-Id: I7e555798e0cfaa214ca93d9df627c6443fc5d986\n"
    },
    {
      "commit": "0d55aa387a4ec65899fc82a1391e5533c85c3edb",
      "tree": "6b8552e69f7e32c6a9116ae1917e7c2827422dd5",
      "parents": [
        "3f6b7714a7afd826c2e66d1baf747469145f8d77"
      ],
      "author": {
        "name": "Dmitry Dementyev",
        "email": "dementyev@google.com",
        "time": "Mon Apr 02 14:10:57 2018 -0700"
      },
      "committer": {
        "name": "Dmitry Dementyev",
        "email": "dementyev@google.com",
        "time": "Mon Apr 02 18:35:08 2018 -0700"
      },
      "message": "Remove deprecated RecoveryController API.\n\n1) Mark all deprecated methods as removed.\n\nBug: 74944591\nTest: atest RecoveryControllerHostTest\nChange-Id: I2dd88d2ba0b9fb254327ee85b9d983ab10eb061b\n"
    },
    {
      "commit": "bf9dfb16be7d58b473cff96a3ab9ac3b2ff33b43",
      "tree": "d0d775a5b7e07dbf6b9ae38dad7d471a4b68137c",
      "parents": [
        "4a3ccc18e6ba1ab45ba242f9ceb22c925c14d06d",
        "080c8542b68cf17a0441862c404cb49ce0e86cfe"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Apr 02 09:08:52 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 02 09:08:52 2018 +0000"
      },
      "message": "Merge \"TextClassifier API updates.\" into pi-dev"
    },
    {
      "commit": "21306849e6f3dc57385e61a694905e4b12b227d9",
      "tree": "8bdb0c1c350ee16aa6dd4d659a11f2558f841f52",
      "parents": [
        "4ab18af48a240c0987fb12e71e8d040befe09ade",
        "e9d9b4b9a27f419fbd6096698f692b474939cb48"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Sun Apr 01 22:26:18 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Apr 01 22:26:18 2018 +0000"
      },
      "message": "Merge \"Fix issue #77230164: Add app op to control foreground services\" into pi-dev"
    },
    {
      "commit": "080c8542b68cf17a0441862c404cb49ce0e86cfe",
      "tree": "673eb1f9a99b63b42f615f60c23a9c46aee8848f",
      "parents": [
        "7a33063b39c0a48e57d7146adfc4640a8944adec"
      ],
      "author": {
        "name": "Abodunrinwa Toki",
        "email": "toki@google.com",
        "time": "Tue Mar 27 00:04:06 2018 +0100"
      },
      "committer": {
        "name": "Abodunrinwa Toki",
        "email": "toki@google.com",
        "time": "Sun Apr 01 20:04:47 2018 +0100"
      },
      "message": "TextClassifier API updates.\n\n1. Wraps TC queries in Request objects\n2. Adds create/destroyTextClassificationSession system APIs\n3. Adds the session Ids to system API calls\n4. Change setSignature() to setId() on result objects\n5. Plumbing to make the API updates work as things currently work\n6. Hide Linkify.addLinksAsync APIs\n\nBug: 74461129\n\nTest: bit FrameworksCoreTests:android.view.textclassifier.TextClassificationManagerTest\nTest: bit CtsViewTestCases:android.view.textclassifier.cts.TextClassificationManagerTest\nTest: bit CtsWidgetTestCases:android.widget.cts.TextViewTest\nTest: bit FrameworksCoreTests:android.widget.TextViewActivityTest\nTest: bit FrameworksCoreTests:android.view.textclassifier.TextClassificationTest\nTest: bit FrameworksCoreTests:android.view.textclassifier.TextSelectionTest\nTest: bit FrameworksCoreTests:android.view.textclassifier.TextLinksTest\n\nChange-Id: I933ada8b37ef9893331a265e3b4fc08e043f1029\n"
    },
    {
      "commit": "77fcc0da3b95b5a191fa65751aa86bc696260df7",
      "tree": "3a1f5fb6708ea48182ccd72732c6812b45f977fa",
      "parents": [
        "014432cb676bfc01eea1dde116a40ac4e8b1e389",
        "37121d467c3e2fe56dc30cc2a6f6a37231791d7a"
      ],
      "author": {
        "name": "Brad Ebinger",
        "email": "breadley@google.com",
        "time": "Fri Mar 30 21:36:35 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 30 21:36:35 2018 +0000"
      },
      "message": "Merge \"Unhide @SystemApi Constructor\" into pi-dev"
    },
    {
      "commit": "e9d9b4b9a27f419fbd6096698f692b474939cb48",
      "tree": "947fc0991f9a1256ee24ee65b968c3af2c490d12",
      "parents": [
        "b5dcf7d3ac4f8b213085eb266588acb2117b4044"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Mar 28 13:51:46 2018 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Mar 30 13:10:54 2018 -0700"
      },
      "message": "Fix issue #77230164: Add app op to control foreground services\n\nNew app op added.\n\nBug: 77230164\nTest: atest CtsAppTestCases:ActivityManagerProcessStateTest\\#testForegroundServiceAppOp\nChange-Id: I59f2f03850da4b9f5550e82ba28f175e4779e783\n"
    },
    {
      "commit": "8982a81f3c63a9e08c693e503d75db46ce9c19eb",
      "tree": "db4233c41e54bd2f639406992e0e8ce757620642",
      "parents": [
        "e6b1a7804d962d06263329792b8b65050ad45d91",
        "d9c9fff1399e09ae49c6cd6e131d884e9e0bc96e"
      ],
      "author": {
        "name": "Pavel Maltsev",
        "email": "pavelm@google.com",
        "time": "Fri Mar 30 16:32:52 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 30 16:32:52 2018 +0000"
      },
      "message": "Merge \"Add OEM_PAID capability to system api\" into pi-dev"
    },
    {
      "commit": "86d170c7ce2e7d385810209a231b02e15ad31f16",
      "tree": "f4788d13a10fb27fded9d1b2d20fee8877e88397",
      "parents": [
        "9efa13f38c96ba2ae9ac2f1a7f91c4d5c1ce34cb"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Wed Feb 07 10:07:03 2018 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Mar 29 15:04:27 2018 -0700"
      },
      "message": "HIDL: add APIs used by subclasses to SystemApi\n\nTwo methods:\n- HwBinder()\n- HwBinder registerService\n- HwBinder onTransact\n\nare used by Stub classes generated by hidl-gen.\n\nBug: 72480743\nTest: build hidl-gen generated stubs with system_current\n    after manually copying stub jar to prebuilts.\nChange-Id: I9b409271b683ad4769a0420e1688b14c561d39d1\nMerged-In: I9b409271b683ad4769a0420e1688b14c561d39d1\n(cherry picked from commit 4c0d6b62a9d60798f54de33d6cea1626cc21cc4a)\n"
    },
    {
      "commit": "ff0a3642e4d1e50e26642352e8c796444237cd30",
      "tree": "e1a359b664dc9a926830ddacef0b27b09e7692a8",
      "parents": [
        "9312938842e2dc7a6f695c175cfe9f6838bb57dd"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Thu Jan 25 10:24:07 2018 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Mar 29 15:04:14 2018 -0700"
      },
      "message": "Add remaining missing HIDL SystemApi methods.\n\nA couple methods of Java classes which became SystemApis\nbut were used are still @hide.\n\nBug: 72480743\nTest: hidl_test_java\nChange-Id: I0cb82384932ab1758fa7576b2125825c48a4a6c9\nMerged-In: I0cb82384932ab1758fa7576b2125825c48a4a6c9\n(cherry picked from commit adcb896fd6e476f277d6f1d20e2e50b8e81c4369)\n"
    },
    {
      "commit": "4dde8a113bce85cbd93809c803ed7c3acd338fcc",
      "tree": "cd847cfe9d37a467d70956aaa2db8bc7cd252b46",
      "parents": [
        "de57d0d024c3fa2f99f2c0210a4d9d760dcf36d9"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Wed Jan 10 15:45:36 2018 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Mar 29 15:03:59 2018 -0700"
      },
      "message": "Allow HIDL to be used in priv-apps.\n\nMarking HIDL as SystemApi to allow vendor apps to talk to their own\nnative HIDL services. This includes implementing HIDL callback objects.\n\nHIDL (HAL interface design language) is a language that is used to\nfacilitate vendor\u003c-\u003esystem communication which provides guarantees\nof ABI stability. For system and vendor services alike, this can also\nbe used for internal communication.\n\nBug: 67725182\nTest: boot device, hidl_test_java\nChange-Id: I9d028cc43ce6f81ea619f01e18f1cd772e17cbfa\nMerged-In: I9d028cc43ce6f81ea619f01e18f1cd772e17cbfa\n(cherry picked from commit e8e63aae6f705cbe316a1d9a7780f9f534bc3948)\n"
    },
    {
      "commit": "37121d467c3e2fe56dc30cc2a6f6a37231791d7a",
      "tree": "a3f56941bf8d1471d492b55cf75bde123a161595",
      "parents": [
        "de51e0c61523f948d9a9797fce1f07e2a67e99fd"
      ],
      "author": {
        "name": "Brad Ebinger",
        "email": "breadley@google.com",
        "time": "Thu Mar 29 11:12:24 2018 -0700"
      },
      "committer": {
        "name": "Brad Ebinger",
        "email": "breadley@google.com",
        "time": "Thu Mar 29 11:36:28 2018 -0700"
      },
      "message": "Unhide @SystemApi Constructor\n\nThere are a few small classes that never got properly\nexposed as @SystemApi. These classes were not caught\nbecause vendors currently build against the source\ndirectly and have access to hidden APIs. We can not\nchange the vendor code at this point (different vendor\ncode for each year for all supported devices), but\nwe can start pulling back the API for new devices.\n\n1) Keep all public mutable fields @hide and put\ntodo (and file bug b/74402619) to make fields\nprivate or final.\n\n2) Add public constructor that populates all fields\nso that @hide public mutable fields can be set to\nprivate/final in the future.\n\n3) Provide getters for fields that will not be\npublic in the future.\n\nIn this way, we can make minimal API changes for P,\nsupport new vendor/3rd party ImsServices, and phase\nout old ImsService implementations that still build\nagainst the source instead of using the correct\n@SystemApi.\n\nBug: 77278031\nBug: 74402619\nTest: Manual\nChange-Id: Ifa3b6d0cbdb12e92efc699b760ca874768a89a7c\n"
    },
    {
      "commit": "462e29da9ba854eb3651dd9664b09a2852a05141",
      "tree": "a0a19cd7df8534632d2adc9f0280c201c2488573",
      "parents": [
        "a22cca47e22e315102777f93a6a7272570d6b98b"
      ],
      "author": {
        "name": "Bryan Mawhinney",
        "email": "bryanmawhinney@google.com",
        "time": "Thu Mar 22 15:52:41 2018 +0000"
      },
      "committer": {
        "name": "Bryan Mawhinney",
        "email": "bryanmawhinney@google.com",
        "time": "Thu Mar 29 18:41:03 2018 +0100"
      },
      "message": "Add a SystemApi to control display saturation.\n\nAllows an app with the appropriate permission to reduce\n(make more gray) the saturation of colors on the display.\n\nTest: manual\nBug: 77189882\nChange-Id: I2b7b065d07bd2ca24730b2e8c52d161c22b307ab\n"
    },
    {
      "commit": "64faa5b60febaa8cf96202f09d100851c6c8bd67",
      "tree": "5b66af2930e2107bdc6ebec1daccfd8e740cb7b3",
      "parents": [
        "f3faf62adcac557b6fb9042f3b39954691cf8eb3",
        "27926edc3b737823bd6bc3146b6e73a69f8dfe3a"
      ],
      "author": {
        "name": "Tomasz Wasilczyk",
        "email": "twasilczyk@google.com",
        "time": "Thu Mar 29 17:27:56 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 29 17:27:56 2018 +0000"
      },
      "message": "Merge \"Indicate whether BandConfig initialization is required or not.\" into pi-dev"
    },
    {
      "commit": "27926edc3b737823bd6bc3146b6e73a69f8dfe3a",
      "tree": "fc4ecd283df447801dfd59266f3cd713dfd53c49",
      "parents": [
        "f45b3a1136ebe31126f992c26e5378c661bbc440"
      ],
      "author": {
        "name": "Tomasz Wasilczyk",
        "email": "twasilczyk@google.com",
        "time": "Tue Mar 27 13:28:42 2018 -0700"
      },
      "committer": {
        "name": "Tomasz Wasilczyk",
        "email": "twasilczyk@google.com",
        "time": "Thu Mar 29 07:45:06 2018 -0700"
      },
      "message": "Indicate whether BandConfig initialization is required or not.\n\nThe broadcastradio HAL 1.x requires waiting for onConfigChanged callback\nto indicate the initialization is done, while HAL 2.0 does not have the\nconfig setting (at the tuner session level) at all.\n\nThis change makes it possible to cleanly workaround race condition in the\nradio app retaining support for both HAL revisions. Future versions of the\nRadioManager will provide a method to open a session without taking care\nabout these nuances.\n\nBug: 74353024\nTest: manual\nChange-Id: I5de2d5e5c33626fcf0cfbbaf121d0b13e53d0bae\n"
    },
    {
      "commit": "d9c9fff1399e09ae49c6cd6e131d884e9e0bc96e",
      "tree": "ff85f668e63415d8adba6d63d9f01b63fc255bbd",
      "parents": [
        "601861fd1cce308320ebe21e47a48e0c9c68de55"
      ],
      "author": {
        "name": "Pavel Maltsev",
        "email": "pavelm@google.com",
        "time": "Thu Mar 22 11:41:32 2018 -0700"
      },
      "committer": {
        "name": "Pavel Maltsev",
        "email": "pavelm@google.com",
        "time": "Tue Mar 27 23:17:14 2018 -0700"
      },
      "message": "Add OEM_PAID capability to system api\n\nSome system apps should be able to request OEM_PAID networks.  This\nmakes a lot of sense when Android is used as in-vehicle infotainment\nsystems.\n\nBug: 68762530\n\nTest: runtest -x frameworks/base/tests/net/ -c android.net.NetworkCapabilitiesTest\n\nChange-Id: Ic916de7522a9f803a2410bc4e3e82101fd9d0dbd\n"
    },
    {
      "commit": "84dca72d92220fe57e7101a16ced04ba815c2e8f",
      "tree": "d34bed81348fd68917f757c132d4371b92837abb",
      "parents": [
        "45bd60b4e2bc4609713a349b2dbe31a233fbedd7"
      ],
      "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 21:38:47 2018 -0700"
      },
      "message": "Address comments from API Review.\n\nBug: 74975825\nBug: 74976716\nBug: 74976875\nTest: test on phone\nMerged-In: I5417e5dd95c75fd3fd9fa98d7559511bd0fcd8a0\nChange-Id: I5417e5dd95c75fd3fd9fa98d7559511bd0fcd8a0\n"
    },
    {
      "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": "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": "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": "aa8f09d41a50260f8a3d2cc6359e73448604f0ca",
      "tree": "0eaa8beaee1ae75afa08470169d21a432d85dd91",
      "parents": [
        "13791285aad937101cf47aa6d96b41fff99b0818",
        "49d1cb47700d3439703a471d1b73044092d0ba71"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Mar 26 23:53:40 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 26 23:53:40 2018 +0000"
      },
      "message": "Merge \"Split the DownloadStateCallback class into two\""
    },
    {
      "commit": "49d1cb47700d3439703a471d1b73044092d0ba71",
      "tree": "662f553ea0797c6e771ea77908fca415e63242f5",
      "parents": [
        "54b8ab7333859dbddfd5b5d980345bfa98e52c1d"
      ],
      "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": "Mon Mar 26 21:45:21 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\nMerged-In: Ifd5289038ffd66eef8bd7916f5256205b49be5f9\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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "750b71c6512dad08e9c8eb59c2ad3c0d4fcfe79f",
      "tree": "96a5266a387d19120af6e56566735eaf5056b091",
      "parents": [
        "98ea60c42766e973eb787a55a9b84ca91981c9e0"
      ],
      "author": {
        "name": "Robert Berry",
        "email": "robertberry@google.com",
        "time": "Wed Mar 21 16:31:52 2018 +0000"
      },
      "committer": {
        "name": "Robert Berry",
        "email": "robertberry@google.com",
        "time": "Thu Mar 22 13:49:54 2018 +0000"
      },
      "message": "Unhide RecoverySession#recoverKeyChainSnapshot() method\n\nThe other methods expose raw key materials, which is a security flaw. This\nnew API is already being used by GMSCore, via reflection (although falling\nback to the old methods if it is not available). Would be good to switch it\non ASAP.\n\nBug: 74345822\nTest: Tested with GMSCore\nChange-Id: I30d53c9e825888d1122c72d23b7c1c10c6edb1e9\n"
    },
    {
      "commit": "93d002ca5f94facfec75359999c910f914d7b7c4",
      "tree": "5f6d728044d5734d58aec4c758ff26ab087fb016",
      "parents": [
        "98ea60c42766e973eb787a55a9b84ca91981c9e0"
      ],
      "author": {
        "name": "Robert Berry",
        "email": "robertberry@google.com",
        "time": "Wed Mar 21 21:57:07 2018 +0000"
      },
      "committer": {
        "name": "Robert Berry",
        "email": "robertberry@google.com",
        "time": "Thu Mar 22 13:49:20 2018 +0000"
      },
      "message": "Unhide RecoveryController#getRootCertificates()\n\nThis is so we can add a GTS test to affirm that GMS devices include the\nGoogle Cloud Key Vault root certificate.\n\nTest: runtest frameworks-core -p android.security.keystore.recovery\nBug: 74621045\nChange-Id: Ib6431f5739f3dff066832e6aa300dd9da5bc0727\n"
    },
    {
      "commit": "a99b258049da5701d6a9839d921a7956d179b7c8",
      "tree": "3fb8654a568f8858fa68272ca46f80ea3c94fe4b",
      "parents": [
        "72fa61b3250529504a9f5dab2e927a0d2e873f58",
        "bbebf8feb49a1e227a2debd45ffff4731ae4a51f"
      ],
      "author": {
        "name": "Holly Jiuyu Sun",
        "email": "jiuyu@google.com",
        "time": "Thu Mar 22 03:45:55 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 22 03:45:55 2018 +0000"
      },
      "message": "Merge \"Mark eraseSubscriptions as @SystemApi.\""
    },
    {
      "commit": "e7997a3ea7c5dea839220ae832ea5ff7a7dc7742",
      "tree": "51962a2154f0cf113ecdd27faec7988d714c2ad0",
      "parents": [
        "b09f2b5926ace1ab1abb1a0dd0eb4ed70953d199"
      ],
      "author": {
        "name": "Bo Zhu",
        "email": "bozhu@google.com",
        "time": "Wed Mar 21 19:50:50 2018 -0700"
      },
      "committer": {
        "name": "Bo Zhu",
        "email": "bozhu@google.com",
        "time": "Wed Mar 21 19:50:50 2018 -0700"
      },
      "message": "Unhide the new RecoverySession#start with the alias for root cert\n\nBug: 76033708\nTest: none, it\u0027s just unhiding APIs\nChange-Id: Iec1e44d24bb1704da082404566233ada83b8eb81\n"
    },
    {
      "commit": "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": "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": "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": "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"
    }
  ],
  "next": "bbebf8feb49a1e227a2debd45ffff4731ae4a51f"
}
