)]}'
{
  "log": [
    {
      "commit": "e7b05b87979dcaebcb22bda18e44f7bd37cddfc2",
      "tree": "6709ff6bc1eef58157910a9beb17e4c097b36c6f",
      "parents": [
        "1c4a22fb083af572dc5c722a4ebf0fac6620705a",
        "505c05839b8b28c5c465c2a537cf3da8a2004e63"
      ],
      "author": {
        "name": "android-build-prod (mdb)",
        "email": "android-build-team-robot@google.com",
        "time": "Thu May 03 20:47:01 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 03 20:47:01 2018 +0000"
      },
      "message": "Merge \"Fix spelling errors in BluetoothGatt documentation\""
    },
    {
      "commit": "505c05839b8b28c5c465c2a537cf3da8a2004e63",
      "tree": "6709ff6bc1eef58157910a9beb17e4c097b36c6f",
      "parents": [
        "1c4a22fb083af572dc5c722a4ebf0fac6620705a"
      ],
      "author": {
        "name": "Stanley Tng",
        "email": "stng@google.com",
        "time": "Thu May 03 08:50:49 2018 -0700"
      },
      "committer": {
        "name": "Stanley Tng",
        "email": "stng@google.com",
        "time": "Thu May 03 20:43:40 2018 +0000"
      },
      "message": "Fix spelling errors in BluetoothGatt documentation\n\nCorrect \"paramter\" to \"parameter\". Correct \"connectoin\" to connection.\n\nBug: 79198797\nTest: Compile\nChange-Id: I98646eec66da2aaa6f74ae2db35ea914c6a105a1\n"
    },
    {
      "commit": "1c4a22fb083af572dc5c722a4ebf0fac6620705a",
      "tree": "c02ccfb0e63d48b81027b0105daa96a2fd8d8b73",
      "parents": [
        "01678299ce846f89936a94fb95cd5844df13268e",
        "f13e473ee1eedc36acf60b0ea9e79e81d1df2a69"
      ],
      "author": {
        "name": "android-build-prod (mdb)",
        "email": "android-build-team-robot@google.com",
        "time": "Thu May 03 15:31:18 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 03 15:31:18 2018 +0000"
      },
      "message": "Merge \"Framework: Restrict warning message\""
    },
    {
      "commit": "01678299ce846f89936a94fb95cd5844df13268e",
      "tree": "197a9d402ade09131aadb20743066a09225b029d",
      "parents": [
        "8285261133fda92498954da1b4ad6b5a5bed5eba",
        "b545e036836f3a05a47bc0692fba4cedb433ef09"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu May 03 14:15:13 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 03 14:15:13 2018 +0000"
      },
      "message": "Merge changes I4e13e5da,I68582cf0,I528a70cc\n\n* changes:\n  Remove hiddenapi-blacklist.txt\n  Update hiddenapi-p-light-greylist.txt\n  Add rule to build hidden API blacklist\n"
    },
    {
      "commit": "b545e036836f3a05a47bc0692fba4cedb433ef09",
      "tree": "f595f4ad10a0fbd0ddb141fd4ef7b666da7945f7",
      "parents": [
        "acad03efabc93a23179b2752d5a313411ba3f075"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu May 03 10:57:45 2018 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu May 03 12:14:45 2018 +0100"
      },
      "message": "Remove hiddenapi-blacklist.txt\n\nCreate an empty file in the build rule instead. Do not merged this\nbeyond AOSP. We have an implicitly built blacklist everywhere else.\n\nBug: 64382372\nTest: make\nChange-Id: I4e13e5daf635934a152d389a95bf45c482b5a87f\nMerged-In: Ifa912f8751025b7de24a982a1a227a9c27d18267\n"
    },
    {
      "commit": "8285261133fda92498954da1b4ad6b5a5bed5eba",
      "tree": "d4df3e519a9f23a9bb946c71d3ab21f3446999a6",
      "parents": [
        "17280c61d3abdcf043a422b87bbfa2289b302dd8",
        "c172c7d81515e95e778d2a652bd89d63d159a266"
      ],
      "author": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Thu May 03 10:44:30 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 03 10:44:30 2018 +0000"
      },
      "message": "Merge \"Add static IpClient logging\""
    },
    {
      "commit": "acad03efabc93a23179b2752d5a313411ba3f075",
      "tree": "c93561bf78b2ebb0cb295aa769e96617825bf2ae",
      "parents": [
        "cc88bdc14c8e2852438c4c4a77aca5518995e360"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu May 03 10:55:34 2018 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu May 03 10:55:34 2018 +0100"
      },
      "message": "Update hiddenapi-p-light-greylist.txt\n\nTest: N/A\nChange-Id: I68582cf087b2e92f10b86c7c5a8bcd095e80ffab\n"
    },
    {
      "commit": "cc88bdc14c8e2852438c4c4a77aca5518995e360",
      "tree": "eb762dabcf8b1ef2ce3e7f07d5fa0017307e8f0e",
      "parents": [
        "c859c8097bc37f691938b8993b03e5e7b98a5b92"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed May 02 15:47:32 2018 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu May 03 10:54:26 2018 +0100"
      },
      "message": "Add rule to build hidden API blacklist\n\nAdd a new Makefile rule \u0027hiddenapi-b-blacklist\u0027 which takes the\nmanually published hiddenapi-p-light-greylist.txt and subtracts it\nfrom private-dex.txt built for the current branch. This is meant to\nprovide an approximation of the blacklist in internal branches.\n\nBug: 64382372\nTest: make hiddenapi-aosp-blacklist\nChange-Id: I528a70cc6a71e988b53d94ca7ef81d6c181e5153\n"
    },
    {
      "commit": "c172c7d81515e95e778d2a652bd89d63d159a266",
      "tree": "d4df3e519a9f23a9bb946c71d3ab21f3446999a6",
      "parents": [
        "17280c61d3abdcf043a422b87bbfa2289b302dd8"
      ],
      "author": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Tue May 01 16:51:44 2018 +0900"
      },
      "committer": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Thu May 03 18:00:09 2018 +0900"
      },
      "message": "Add static IpClient logging\n\nSupport keeping IpClient logs around and dumping them\nduring dumpsys.  Previously we got this benefit for\nwifi by virtue of WifiStateMachine\u0027s long-lived nature.\nNow that this is changing we need to be sure we have\nlogs, and this method gets us Ethernet logs as well.\n\nBug: 62476366\nBug: 77999594\nTest: as follows\n    - built\n    - flashed\n    - booted\n    - runtest frameworks-net passes\n    - dumpsys connmetrics [ipclient] works\nMerged-In: Ib4daf0902cae91acadbe9965de1fb73c96a47bec\nMerged-In: Ie947394fabcaca7fc1d067f095c2442ee2704593\nChange-Id: I1136a83de8097fdb4130debe1eaf689be7132fe5\n(cherry picked from commit 3f8306b8c56b58054800a576912204e8bf66f9f4)\n"
    },
    {
      "commit": "17280c61d3abdcf043a422b87bbfa2289b302dd8",
      "tree": "d5dd55067ad83274b3ed758dc71b4b5ce7fffdaa",
      "parents": [
        "85e68063a95628cdd8b5db7328ee529bd2ae8926",
        "0f8da1c877377a9cd54034058c5f9a7d755a627f"
      ],
      "author": {
        "name": "android-build-prod (mdb)",
        "email": "android-build-team-robot@google.com",
        "time": "Wed May 02 21:27:00 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 02 21:27:00 2018 +0000"
      },
      "message": "Merge \"don\u0027t block adb while running uninstall\""
    },
    {
      "commit": "0f8da1c877377a9cd54034058c5f9a7d755a627f",
      "tree": "5098d7606a8f71532e4b95c3dd5c17206acc28d3",
      "parents": [
        "03cdc95f1cc040a0f148fc398b953e6ab25f7c8f"
      ],
      "author": {
        "name": "wangmingming1",
        "email": "wangmingming1@xiaomi.com",
        "time": "Tue Apr 10 09:35:25 2018 +0800"
      },
      "committer": {
        "name": "Philip P. Moltmann",
        "email": "moltmann@google.com",
        "time": "Wed May 02 18:28:36 2018 +0000"
      },
      "message": "don\u0027t block adb while running uninstall\n\nTest: Manual\n      1. setup a work profile\n      2. set a uninstall restriction on foo app for the work profile\n         by calling set DevicePolicyManager.setUninstallBlocked()\n      3. observe adb uninstallation can return with \u0027DELETE_FAILED_OWNER_BLOCKED\u0027\n         message without blocking forever by using the following command line:\n         `adb uninstall --user user-id-of-work-profile com.foo`\nTest: Manual\n      1. install lots of apks via adb\n      2. uninstall apks via adb\n\nChange-Id: I68706782ae547250433e3dd8ff285d4932473033\nMerged-In: If89978c5a79ef998bde55c254ced4b6a3ff6e645\nSigned-off-by: wangmingming1 \u003cwangmingming1@xiaomi.com\u003e\n"
    },
    {
      "commit": "85e68063a95628cdd8b5db7328ee529bd2ae8926",
      "tree": "48f8cc5b7caa06d3dd278b702500ee054c557d7d",
      "parents": [
        "c859c8097bc37f691938b8993b03e5e7b98a5b92",
        "0c703900408fb37b82ce53b61c9a973c4e8c868d"
      ],
      "author": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Wed May 02 15:31:27 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 02 15:31:27 2018 +0000"
      },
      "message": "Merge \"frameworks/base: Update a few more references to android.jar.\""
    },
    {
      "commit": "c859c8097bc37f691938b8993b03e5e7b98a5b92",
      "tree": "38c59996dda8b76099793bea706c01dba4104a4d",
      "parents": [
        "0835de9e174cec64e6661b39988179902b31c83c",
        "96c9cbc1a1830780f8509434c766d77a49015b60"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed May 02 10:40:37 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 02 10:40:37 2018 +0000"
      },
      "message": "Merge \"Build same hidden API lists as in pi-dev\""
    },
    {
      "commit": "96c9cbc1a1830780f8509434c766d77a49015b60",
      "tree": "38c59996dda8b76099793bea706c01dba4104a4d",
      "parents": [
        "0835de9e174cec64e6661b39988179902b31c83c"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu Apr 26 14:05:13 2018 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed May 02 08:54:02 2018 +0000"
      },
      "message": "Build same hidden API lists as in pi-dev\n\nP branch builds hidden API lists in a separate invocation of droiddoc\nwhich includes @SystemApi and @TestApi annotated class members in the\npublic API. This patch creates the same build rule in the master branch,\nonly with Soong instead of Makefile.\n\nTest: make out/soong/.intermediates/frameworks/base/hiddenapi-lists/android_common/private-dex.txt\nMerged-In: Ifa912f8751025b7de24a982a1a227a9c27d18267\nChange-Id: I80860c2b9f7213db65d0a9ca65bd645187aa0ce0\n"
    },
    {
      "commit": "0835de9e174cec64e6661b39988179902b31c83c",
      "tree": "a56f59e92f46b35655a555f1a8842ecaa82a0a8d",
      "parents": [
        "90c01b0093848c7ccb7c6c428c2e2b7801b51814",
        "717c18ed1e9dbc233055991a5a9cac3fd0cff948"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed May 02 08:42:49 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 02 08:42:49 2018 +0000"
      },
      "message": "Merge \"Publish hidden API light greylist from P\""
    },
    {
      "commit": "90c01b0093848c7ccb7c6c428c2e2b7801b51814",
      "tree": "cb7a8eabe55a18e8c2f067ff543c3028a99936a4",
      "parents": [
        "59e139a767b5552a0c42ce236ff59f843900e842",
        "b815c978b81eee4b1494bd0b9d25bfad52f08b72"
      ],
      "author": {
        "name": "android-build-prod (mdb)",
        "email": "android-build-team-robot@google.com",
        "time": "Wed May 02 01:19:23 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 02 01:19:23 2018 +0000"
      },
      "message": "Merge changes from topic \"ifaceStats\"\n\n* changes:\n  Remove the unused file parsing function\n  Use eBPF map data for per iface stats\n"
    },
    {
      "commit": "b815c978b81eee4b1494bd0b9d25bfad52f08b72",
      "tree": "cb7a8eabe55a18e8c2f067ff543c3028a99936a4",
      "parents": [
        "dcc56783f5b945b16c9f5e50333fba557a7c3603"
      ],
      "author": {
        "name": "Chenbo Feng",
        "email": "fengc@google.com",
        "time": "Tue May 01 13:51:13 2018 -0700"
      },
      "committer": {
        "name": "Chenbo Feng",
        "email": "fengc@google.com",
        "time": "Tue May 01 14:13:55 2018 -0700"
      },
      "message": "Remove the unused file parsing function\n\nWith the new xt_bpf support for iface stats. We no longer need to parse\nthe per interface stats from /proc/net/dev. And since the old xt_qtaguid\ncode path also not depend on it, we can completly remove that helper\nfunction since no caller is depending on it now.\n\nBug: 72111305\nTest: runtest frameworks-net -c com.android.internal.net.NetworkStatsFactoryTest\nChange-Id: Icb7eaeef0eeb9fdffd32a90316c76ee05bafffbe\n"
    },
    {
      "commit": "dcc56783f5b945b16c9f5e50333fba557a7c3603",
      "tree": "d62c2152c3d065a61c56876545b43eaac9f2ab24",
      "parents": [
        "59e139a767b5552a0c42ce236ff59f843900e842"
      ],
      "author": {
        "name": "Chenbo Feng",
        "email": "fengc@google.com",
        "time": "Wed Apr 18 15:44:46 2018 -0700"
      },
      "committer": {
        "name": "Chenbo Feng",
        "email": "fengc@google.com",
        "time": "Tue May 01 14:13:48 2018 -0700"
      },
      "message": "Use eBPF map data for per iface stats\n\nAfter adding the xt_bpf module and ifaceStatsMap, eBPF tool can now\nsupport reading per interface data. So networkStatsFactory should move\naway from parsing proc/net/dev and use the eBPF map stats instead.\n\nBug: 72111305\nTest: atest com.android.server.net.NetworkStatsServiceTest\nChange-Id: Ibcc6150d00835b3bd33af22a72e4a86e172581cf\n"
    },
    {
      "commit": "f13e473ee1eedc36acf60b0ea9e79e81d1df2a69",
      "tree": "2f83aa5bb71e17ea7090090a12b3d3e4a6d1529b",
      "parents": [
        "59e139a767b5552a0c42ce236ff59f843900e842"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue May 01 12:10:54 2018 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue May 01 12:10:54 2018 -0700"
      },
      "message": "Framework: Restrict warning message\n\nOnly print the message of the cache wasn\u0027t pruned.\n\nBug: 26978865\nTest: manual\nChange-Id: I564ecddf6c8fafcc9699ec6bfbd622214edf79c8\n"
    },
    {
      "commit": "0c703900408fb37b82ce53b61c9a973c4e8c868d",
      "tree": "5759f42f745c6f73504ad9a7c72eaf3ee02a3df0",
      "parents": [
        "59e139a767b5552a0c42ce236ff59f843900e842"
      ],
      "author": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Tue May 01 18:32:50 2018 +0100"
      },
      "committer": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Tue May 01 18:34:10 2018 +0100"
      },
      "message": "frameworks/base: Update a few more references to android.jar.\n\nThese files are moving. Update the paths so that the old files can be\ndeleted.\n\nBug: 77525052\nTest: ./build for one of these scripts\nChange-Id: Iacca1f1930d6a2614866f6503a2b4c1eba4d4018\n"
    },
    {
      "commit": "59e139a767b5552a0c42ce236ff59f843900e842",
      "tree": "5b3962357172bcf8501e326834d21a66a8caa2dc",
      "parents": [
        "9b1c3e00bf4d82e7c9a77322cdbfe3e6ce99f329",
        "f97656b81c184efb933bb884d220476b61373fcb"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Tue May 01 03:07:35 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 01 03:07:35 2018 +0000"
      },
      "message": "Merge \"Let DnsManager fill in LinkProperties for private DNSes\""
    },
    {
      "commit": "9b1c3e00bf4d82e7c9a77322cdbfe3e6ce99f329",
      "tree": "36dee68a147a66301347081db16d44ac38bf2e3b",
      "parents": [
        "d1ed78443853aadaf4cd0f903307d6b94ee3104a",
        "611b7f4ec9cb5ed4300667eb05efe2136c0ff531"
      ],
      "author": {
        "name": "android-build-prod (mdb)",
        "email": "android-build-team-robot@google.com",
        "time": "Tue May 01 01:31:31 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 01 01:31:31 2018 +0000"
      },
      "message": "Merge changes Ie4709b6e,I57980ccb\n\n* changes:\n  com.android.nfc_extras is built with java_sdk_library\n  Fix link-type check warning on com.android.nfc_extras\n"
    },
    {
      "commit": "d1ed78443853aadaf4cd0f903307d6b94ee3104a",
      "tree": "b8bb67afa4765f9ad144734782035f8fb27f9e98",
      "parents": [
        "3f3cf588138691efa6ad360659446140b296248d",
        "979698bc2ca4b09a03396981dad171cc7e1387b5"
      ],
      "author": {
        "name": "android-build-prod (mdb)",
        "email": "android-build-team-robot@google.com",
        "time": "Mon Apr 30 20:37:46 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 30 20:37:46 2018 +0000"
      },
      "message": "Merge \"Get/Set IO capability of Bluetooth device\""
    },
    {
      "commit": "3f3cf588138691efa6ad360659446140b296248d",
      "tree": "1c279f74a5a2e2897beb0a8dc373c9dc895d89aa",
      "parents": [
        "5528d0a9a618933a6e87bce745b44c7338215971",
        "8c0f80083199347960a1248720ff46c8c60debdc"
      ],
      "author": {
        "name": "Stanley Tng",
        "email": "stng@google.com",
        "time": "Mon Apr 30 19:48:36 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 30 19:48:36 2018 +0000"
      },
      "message": "Merge \"Disable Hearing Aid Profile for all platforms except Pixels\""
    },
    {
      "commit": "5528d0a9a618933a6e87bce745b44c7338215971",
      "tree": "d104a13a6a8f239c47cb5e8b104c6be342f8e283",
      "parents": [
        "093ade312d402c3453663db746d1f90787890d2b",
        "085ecc32a40d4cf578d6c4379ff1045430ec72b0"
      ],
      "author": {
        "name": "Ajay Panicker",
        "email": "apanicke@google.com",
        "time": "Mon Apr 30 18:06:15 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 30 18:06:15 2018 +0000"
      },
      "message": "Merge \"Don\u0027t set Bluetooth volume when the Bluetooth stream changes\""
    },
    {
      "commit": "8c0f80083199347960a1248720ff46c8c60debdc",
      "tree": "4a2a4158649ccf46697fb7c1865ae8eeedc1b48b",
      "parents": [
        "093ade312d402c3453663db746d1f90787890d2b"
      ],
      "author": {
        "name": "Stanley Tng",
        "email": "stng@google.com",
        "time": "Wed Apr 25 09:13:08 2018 -0700"
      },
      "committer": {
        "name": "Stanley Tng",
        "email": "stng@google.com",
        "time": "Mon Apr 30 08:54:47 2018 -0700"
      },
      "message": "Disable Hearing Aid Profile for all platforms except Pixels\n\nAdd code to selectively disable Hearing Aid Profile depending on the\nconfig.xml file.\nNote: Cherry-picked from internal branch.\n\nBug: 78142728\nTest: Manual Pairing on various Pixel phones\nChange-Id: I8094f1a1665647b026eb9601e032fb7fbb816ec6\n(cherry picked from commit a21efa58369b304e5ea818a3f8b1577f1fed3d02)\n"
    },
    {
      "commit": "979698bc2ca4b09a03396981dad171cc7e1387b5",
      "tree": "57e55ff6144dd041e275a7ea47318e5bd20fe838",
      "parents": [
        "093ade312d402c3453663db746d1f90787890d2b"
      ],
      "author": {
        "name": "Pulkit Bhuwalka",
        "email": "pulkitb@google.com",
        "time": "Wed Mar 28 13:51:43 2018 -0700"
      },
      "committer": {
        "name": "Pulkit Bhuwalka",
        "email": "pulkitb@google.com",
        "time": "Sat Apr 28 13:45:44 2018 -0700"
      },
      "message": "Get/Set IO capability of Bluetooth device\n\nCreates the hidden BluetoothAdapter APIs which can be used to\ncontrol IO capability settings on the local Bluetooth device.\n\nBug: 36015413\nTest: Used a test activity to control getting/setting the value and\nattempting pairing.\n\nChange-Id: Ibbfdc5ae5a1d56c6e3d003ab3bf5d095dcb583e4\n(cherry picked from commit 6043b7b90a27a836241bfc05e71eb46ce04c66cf)\n"
    },
    {
      "commit": "093ade312d402c3453663db746d1f90787890d2b",
      "tree": "2cebaf106d73022053c67c4058c1a1dfb2b0504a",
      "parents": [
        "1100e841758314a06fcc81ab58a3c245bb26e674",
        "1c11e207af7fffe79bb6f7d4379ae2b95644f812"
      ],
      "author": {
        "name": "Shuo Qian",
        "email": "shuoq@google.com",
        "time": "Fri Apr 27 18:39:20 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 27 18:39:20 2018 +0000"
      },
      "message": "Merge \"Restore the OEM hook implementation and usage\""
    },
    {
      "commit": "085ecc32a40d4cf578d6c4379ff1045430ec72b0",
      "tree": "0905abcd60678c26aacc0ab5a8909d4f24cb0f1b",
      "parents": [
        "1100e841758314a06fcc81ab58a3c245bb26e674"
      ],
      "author": {
        "name": "Ajay Panicker",
        "email": "apanicke@google.com",
        "time": "Fri Apr 27 07:13:23 2018 -0700"
      },
      "committer": {
        "name": "Ajay Panicker",
        "email": "apanicke@google.com",
        "time": "Fri Apr 27 14:16:56 2018 +0000"
      },
      "message": "Don\u0027t set Bluetooth volume when the Bluetooth stream changes\n\nDon\u0027t restore the remembered volume whenever an Bluetooth A2DP stream\ncomes up or whenever Bluetooth AVRCP reports absolute volume support.\nAll Bluetooth volume memory will now be handled by Bluetooth.\n\nBug: 30602783\nTest: See that AudioService doesn\u0027t try to change the volume when a\nBluetooth device connects.\n\nChange-Id: I683062c1a0565591ae33cbbb0381730b86ad17c2\n"
    },
    {
      "commit": "611b7f4ec9cb5ed4300667eb05efe2136c0ff531",
      "tree": "2e282716cacc6e4be24e1759486072bc6b98e116",
      "parents": [
        "863f353865d610df25b38a9073fa9eb348b8490e"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Wed Apr 25 20:05:48 2018 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Fri Apr 27 16:34:29 2018 +0900"
      },
      "message": "com.android.nfc_extras is built with java_sdk_library\n\nRemove the biolerplate code using java_sdk_library module type.\n\nBug: 77575606\nTest: m -j\n\nChange-Id: Ie4709b6ebc18bc2e4e26137d4a097d734f4435fe\n"
    },
    {
      "commit": "1100e841758314a06fcc81ab58a3c245bb26e674",
      "tree": "4cc18018123a4af57456b260b77eb5550104d523",
      "parents": [
        "8e386b7132895cb286a1d9548c630f86189197b8",
        "03dbf6bd5e913e3b1a867f333247adb1498f5da3"
      ],
      "author": {
        "name": "android-build-prod (mdb)",
        "email": "android-build-team-robot@google.com",
        "time": "Fri Apr 27 04:53:52 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 27 04:53:52 2018 +0000"
      },
      "message": "Merge \"Add the list of private DNS addresses to LinkProperties\""
    },
    {
      "commit": "f97656b81c184efb933bb884d220476b61373fcb",
      "tree": "1ac821517763c5013f9de8c0ec34c013d93c3d42",
      "parents": [
        "03dbf6bd5e913e3b1a867f333247adb1498f5da3"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Wed Apr 11 18:58:52 2018 +0900"
      },
      "committer": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Fri Apr 27 13:32:10 2018 +0900"
      },
      "message": "Let DnsManager fill in LinkProperties for private DNSes\n\n(clean cherry-pick from ag/3880157)\n\nTest: new tests pass\nBug: 73641539\nChange-Id: I971ef4d27b22a435d7459e1c4b31a8715ef6e610\nMerged-In: I837df61e3c277ae08ebf4fdcd4c4e9ac8c550811\nMerged-In: I72ecaa4f7d7320ffa2e0ba82fadafc947c8a6981\n"
    },
    {
      "commit": "03dbf6bd5e913e3b1a867f333247adb1498f5da3",
      "tree": "4cc18018123a4af57456b260b77eb5550104d523",
      "parents": [
        "8e386b7132895cb286a1d9548c630f86189197b8"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Wed Apr 11 16:36:41 2018 +0900"
      },
      "committer": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Fri Apr 27 13:32:10 2018 +0900"
      },
      "message": "Add the list of private DNS addresses to LinkProperties\n\n(clean cherry-pick from ag/3874803)\n\nTest: atest android.net.LinkPropertiesTest, also new tests pass\nBug: 73641539\nChange-Id: If33a35b1354a67db09411ff098f20064797296ad\nMerged-In: I4b739c56e658690532ae9deb0b9a3bc9b2adf8b0\nMerged-In: I6bdbef78d078d68534c8e07e9af031ce374560ef\n"
    },
    {
      "commit": "863f353865d610df25b38a9073fa9eb348b8490e",
      "tree": "7dd61cba852d502ee5c0057e36ab98ca08ec0e77",
      "parents": [
        "8e386b7132895cb286a1d9548c630f86189197b8"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Thu Feb 22 16:04:02 2018 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Fri Apr 27 12:39:45 2018 +0900"
      },
      "message": "Fix link-type check warning on com.android.nfc_extras\n\nThe library has been built without SDK, and is used by an app\nNfcExtrasTests that is built with SDK. Such this SDK -\u003e non-SDK\ndependency has been causing link-type check warnings, which will turn\ninto errors soon.\n\nThis change fixes the warning by making a stub library\ncom.android.nfc_extras.stubs from the runtime library and let the app to\nlink against the stub library. Since the stubs library does not use any\nprivate APIs, it is built with SDK.\n\nBug: 69899800\nTest: m -j NfcExtrasTests is successful and does not show any link-type\ncheck warning.\n\nMerged-In: I57980ccbc9036d7cc6df114a975a384d10a2962b\nChange-Id: I57980ccbc9036d7cc6df114a975a384d10a2962b\n(cherry picked from commit ded4fd729b50d5298e77199194996d22d3b573cf)\n"
    },
    {
      "commit": "1c11e207af7fffe79bb6f7d4379ae2b95644f812",
      "tree": "1caa2d56dd5c8d4c33d09741a7881de8f0bdc99a",
      "parents": [
        "f09bde2809b4eb34fb68d0935f8b963fb6a9fcde"
      ],
      "author": {
        "name": "Shuo Qian",
        "email": "shuoq@google.com",
        "time": "Fri Apr 27 01:27:02 2018 +0000"
      },
      "committer": {
        "name": "Shuo Qian",
        "email": "shuoq@google.com",
        "time": "Fri Apr 27 01:27:54 2018 +0000"
      },
      "message": "Restore the OEM hook implementation and usage\n\nThe current plan is to keep the OEM hook implementation in the framework\n, this is for legacy device and old device upgrading (per b/78098059).\n\nFor P launching device, the OEM hook service is removed in hal, so the \nOEM hook api in framework should return something dummy, and prevent \ninfinite loop to get service, but these parts should be done in seperate\nCLs after this restore CL is merged.\n\nThis reverts commit f09bde2809b4eb34fb68d0935f8b963fb6a9fcde.\n\nBug: 34344851\nChange-Id: I2aea9be9aa7cecd4f7a1f1783391f0af173bfc59\nTest: pass Treehugger tests; pass cuttlefish test RilE2eTests\n\nMerged-In: I1f2117331a7f846b192c5f956f3841d58cb8154b\n"
    },
    {
      "commit": "8e386b7132895cb286a1d9548c630f86189197b8",
      "tree": "c7fcca4d88d235d58d2e83ec0a564cc08ebf74c2",
      "parents": [
        "ecb0302ae9d0391f24f42de2cd95d75a64cefe18",
        "6a1707a0e7ccb52e012bb62f8c3aa76b8ffda52f"
      ],
      "author": {
        "name": "android-build-prod (mdb)",
        "email": "android-build-team-robot@google.com",
        "time": "Fri Apr 27 01:10:49 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 27 01:10:49 2018 +0000"
      },
      "message": "Merge \"Fix carrier app CaptivePortalLoginActivity probes to bypass Private DNS\""
    },
    {
      "commit": "ecb0302ae9d0391f24f42de2cd95d75a64cefe18",
      "tree": "094df4171112f3698d254706d6ebc4c95867a7e9",
      "parents": [
        "eddd165c20a781cc57e82e9b78595fa5d7e5ed25",
        "6a30ff8326fe3206ed6922ca565a781c69b6d1c0"
      ],
      "author": {
        "name": "Mika Raento",
        "email": "mikie@google.com",
        "time": "Thu Apr 26 17:01:32 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 26 17:01:32 2018 +0000"
      },
      "message": "Merge \"Systrace support for NNAPI\""
    },
    {
      "commit": "717c18ed1e9dbc233055991a5a9cac3fd0cff948",
      "tree": "1ebf76c671e75d716cb54b0a0332c80bb9042870",
      "parents": [
        "eddd165c20a781cc57e82e9b78595fa5d7e5ed25"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu Apr 26 17:06:17 2018 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu Apr 26 17:06:17 2018 +0100"
      },
      "message": "Publish hidden API light greylist from P\n\nThis will be periodically updated from the internal tree. The file\nis not being used anywhere.\n\nTest: N/A\nChange-Id: Ie0587d82afe5daf0276914f888542711d3f3baa5\n"
    },
    {
      "commit": "eddd165c20a781cc57e82e9b78595fa5d7e5ed25",
      "tree": "290071e6a6485fe807215bcd1900a54e059c3a7c",
      "parents": [
        "ec629e2f43b60285e893bb8dcbf2fb8171b4fd48",
        "df41728b85354e791403c594c2e6031e540b854e"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu Apr 26 12:39:41 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 26 12:39:41 2018 +0000"
      },
      "message": "Merge \"Generate @removed DEX API signatures\""
    },
    {
      "commit": "6a30ff8326fe3206ed6922ca565a781c69b6d1c0",
      "tree": "51468be0746a1d26081c5e787e69c97db6573d48",
      "parents": [
        "ec629e2f43b60285e893bb8dcbf2fb8171b4fd48"
      ],
      "author": {
        "name": "Mika Raento",
        "email": "mikie@google.com",
        "time": "Mon Apr 23 22:08:57 2018 +0100"
      },
      "committer": {
        "name": "Mika Raento",
        "email": "mikie@google.com",
        "time": "Thu Apr 26 09:34:12 2018 +0100"
      },
      "message": "Systrace support for NNAPI\n\nChange-Id: Ie73d28937eba33e2d90f1447f17fd6d8e5719a65\nBug: 78137932\nTest: mm\n"
    },
    {
      "commit": "6a1707a0e7ccb52e012bb62f8c3aa76b8ffda52f",
      "tree": "225f564b344563c2c94d4042ccf86fc7acab4e83",
      "parents": [
        "ec629e2f43b60285e893bb8dcbf2fb8171b4fd48"
      ],
      "author": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Thu Apr 26 12:04:40 2018 +0900"
      },
      "committer": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Thu Apr 26 13:17:14 2018 +0900"
      },
      "message": "Fix carrier app CaptivePortalLoginActivity probes to bypass Private DNS\n\nTest: as follows\n    - built\n    - flashed\n    - booted\n    - runtest frameworks-net passes\nBug: 64133961\nBug: 77140445\nBug: 78548486\n\nChange-Id: I48c60fd6711dcf5406fba62a3f88aea12183ff87\n"
    },
    {
      "commit": "ec629e2f43b60285e893bb8dcbf2fb8171b4fd48",
      "tree": "d4e9933a8236331dfca2df3924abee81921db5a6",
      "parents": [
        "b686b9cf6df8b2416083c7f80bf75a72cd9046f7",
        "848d842a3ad94720e1d70db3337048e9568bb9d6"
      ],
      "author": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Thu Apr 26 04:15:20 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 26 04:15:20 2018 +0000"
      },
      "message": "Merge \"Fix CaptivePortalLoginActivity probes to bypass Private DNS\""
    },
    {
      "commit": "848d842a3ad94720e1d70db3337048e9568bb9d6",
      "tree": "d4e9933a8236331dfca2df3924abee81921db5a6",
      "parents": [
        "b686b9cf6df8b2416083c7f80bf75a72cd9046f7"
      ],
      "author": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Wed Apr 25 17:27:28 2018 +0900"
      },
      "committer": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Thu Apr 26 11:37:03 2018 +0900"
      },
      "message": "Fix CaptivePortalLoginActivity probes to bypass Private DNS\n\nTest: as follows\n    - built\n    - flashed\n    - booted\n    - runtest frameworks-net passes\n    - manual testing on captive portal networks\nBug: 64133961\nBug: 77140445\nBug: 78548486\n\nChange-Id: Idbc4d90eeec257b36c5f374d61dea4600a0f8ebb\n"
    },
    {
      "commit": "b686b9cf6df8b2416083c7f80bf75a72cd9046f7",
      "tree": "d59450149ac5d3d8c4f7faa44f2518a0cdde4ad5",
      "parents": [
        "8252157acaac669b1adc449a82db558bcbf04859",
        "f09bde2809b4eb34fb68d0935f8b963fb6a9fcde"
      ],
      "author": {
        "name": "Shuo Qian",
        "email": "shuoq@google.com",
        "time": "Wed Apr 25 19:31:54 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 25 19:31:54 2018 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Remove the OEM hook implementation and usage\"\"\""
    },
    {
      "commit": "f09bde2809b4eb34fb68d0935f8b963fb6a9fcde",
      "tree": "25f966bda67cdd53f6485e70741e0b6b9dd55e34",
      "parents": [
        "00b89515a54b7f8d635408994c6384fb80fe2127"
      ],
      "author": {
        "name": "Shuo Qian",
        "email": "shuoq@google.com",
        "time": "Tue Apr 24 19:04:19 2018 +0000"
      },
      "committer": {
        "name": "Shuo Qian",
        "email": "shuoq@google.com",
        "time": "Wed Apr 25 01:59:53 2018 +0000"
      },
      "message": "Revert \"Revert \"Remove the OEM hook implementation and usage\"\"\n\nThis reverts commit 00b89515a54b7f8d635408994c6384fb80fe2127.\n\nChange-Id: I61c5d47fabf760bfefe843fb7a31f0a481c94c50\n\nMerged-In: Icb06aea5eb42fd156a967c4d4e39aefc51d91cf4\n"
    },
    {
      "commit": "8252157acaac669b1adc449a82db558bcbf04859",
      "tree": "60aeed05b1af2e1ca099aa31cf7cbd62f1801e42",
      "parents": [
        "a355552bfe9b1313b0351ede9120363bfd9281bc",
        "78e352f1e29c487f4d33551499704422a71d340b"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 24 23:02:38 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 24 23:02:38 2018 +0000"
      },
      "message": "Merge \"Fixed the document of getNetworkCountryIso\""
    },
    {
      "commit": "a355552bfe9b1313b0351ede9120363bfd9281bc",
      "tree": "18f46821596e3fc64d2de1dd0521641abf718e1c",
      "parents": [
        "238eaf5183f6f6b3ac2a319d9b204c651466e5fa",
        "9bc35116e341cb948abf73a9d13b3ebf08c6c1ef"
      ],
      "author": {
        "name": "Tyler Gunn",
        "email": "tgunn@google.com",
        "time": "Tue Apr 24 15:33:29 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 24 15:33:29 2018 +0000"
      },
      "message": "Merge \"Add ability to log last 2 digits of dialed numbers in userdebug builds.\""
    },
    {
      "commit": "df41728b85354e791403c594c2e6031e540b854e",
      "tree": "3faccd0885c5f74eaaf91916e2140f4dd2a11d6d",
      "parents": [
        "238eaf5183f6f6b3ac2a319d9b204c651466e5fa"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Tue Apr 24 16:27:53 2018 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Tue Apr 24 16:27:53 2018 +0100"
      },
      "message": "Generate @removed DEX API signatures\n\nCL I8fe27e8c03334f9c90204db1e69447de65a06a38 adds support to generate\na list of all @removed DEX API signatures. Amend the public API build\nrule to produce this file.\n\nBug: 78182899\nTest: make\nChange-Id: Iba8869ce6e4f401a8e420ad83ab459d25bbbaae0\n"
    },
    {
      "commit": "238eaf5183f6f6b3ac2a319d9b204c651466e5fa",
      "tree": "5818a80ef26592fcece8e74d4b14fccb7a2f46ff",
      "parents": [
        "5faf7291f0f3b77b08cda580e86e302c68172861",
        "fb6daf7cf7f30ef05d4a78c6462b881bb4e8350f"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 24 03:56:40 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 24 03:56:40 2018 +0000"
      },
      "message": "Merge \"Further Clarify Scope of KEY_CARRIER_NAME_OVERRIDE\""
    },
    {
      "commit": "5faf7291f0f3b77b08cda580e86e302c68172861",
      "tree": "d5e09053fb36c1abe8361f295ba275c3bcd3d1d8",
      "parents": [
        "2a4277fb002fd46fabb7c8d286c4ecac48877cce",
        "58adf3a8eead2d7594fc1ac15aaed6a5760e7ba4"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Apr 23 22:35:17 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 23 22:35:17 2018 +0000"
      },
      "message": "Merge \"PackageManager: Skip dexopt on install for debuggable apps\""
    },
    {
      "commit": "78e352f1e29c487f4d33551499704422a71d340b",
      "tree": "5d33e20947538e5eb228a5bc93cd8cd3d9cabe38",
      "parents": [
        "fc9bc10d69db0d1dcbd14c5d2eff0b0e01a7e55d"
      ],
      "author": {
        "name": "Jack Yu",
        "email": "jackyu@google.com",
        "time": "Mon Apr 23 11:08:23 2018 -0700"
      },
      "committer": {
        "name": "Jack Yu",
        "email": "jackyu@google.com",
        "time": "Mon Apr 23 13:41:25 2018 -0700"
      },
      "message": "Fixed the document of getNetworkCountryIso\n\nTest: Build\nBug: 64335394\nChange-Id: Ic8fc41380e15a40f9498c990b0074571cdffd018\n"
    },
    {
      "commit": "2a4277fb002fd46fabb7c8d286c4ecac48877cce",
      "tree": "012b0a9e4ee690084402ec86a607e94f60feca45",
      "parents": [
        "361ab2c581cd6485f94e8a5bf6e1238e3b758a35",
        "e5bf20608a456c998ad103020ab97b1cd195ed34"
      ],
      "author": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Mon Apr 23 20:16:57 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 23 20:16:57 2018 +0000"
      },
      "message": "Merge \"Move frameworks/base off the SRC_API_DIR variable.\""
    },
    {
      "commit": "361ab2c581cd6485f94e8a5bf6e1238e3b758a35",
      "tree": "f0c1c757fdc9d9ca4f740ea520e636d65756c5fb",
      "parents": [
        "fc9bc10d69db0d1dcbd14c5d2eff0b0e01a7e55d",
        "917f4b332e2c21f074e5f50bf598ff36d77f2945"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Apr 23 20:01:02 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 23 20:01:02 2018 +0000"
      },
      "message": "Merge \"BluetoothManagerService: Add dumpsys logs for BLE_ON -\u003e OFF\""
    },
    {
      "commit": "917f4b332e2c21f074e5f50bf598ff36d77f2945",
      "tree": "aed44dfb8fba4d41c9c424b244b6c1210409c300",
      "parents": [
        "1142ffcc9b4624887707e3e7d37e0ec777d099db"
      ],
      "author": {
        "name": "Hansong Zhang",
        "email": "hsz@google.com",
        "time": "Mon Apr 23 11:17:17 2018 -0700"
      },
      "committer": {
        "name": "Hansong Zhang",
        "email": "hsz@google.com",
        "time": "Mon Apr 23 11:17:17 2018 -0700"
      },
      "message": "BluetoothManagerService: Add dumpsys logs for BLE_ON -\u003e OFF\n\nAdd dumpsys logs for state transition from BLE_ON to OFF. This can be\neither from location settings off or airplane mode enabled.\n\nTest: manual\nBug: 74090881\nChange-Id: I1f6cfe691b359591af60c3be2e015bec5d3859e8\n"
    },
    {
      "commit": "58adf3a8eead2d7594fc1ac15aaed6a5760e7ba4",
      "tree": "1c0ca35accdb5ca155656aa0ac9f46868c7e932c",
      "parents": [
        "fc9bc10d69db0d1dcbd14c5d2eff0b0e01a7e55d"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Apr 23 08:59:12 2018 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Apr 23 10:21:17 2018 -0700"
      },
      "message": "PackageManager: Skip dexopt on install for debuggable apps\n\nTo reduce install-to-started latency, skip dexopt at install-time\nfor debuggable apps. This is a conscious tradeoff, as the app\nwill run slower, and do repeated work on every startup. However,\nfor debuggable apps, turnaround time is more important.\n\nBug: 78200989\nTest: m\nTest: Device boots\nTest: CTS (wrap \u0026 JVMTI)\nChange-Id: I749934e794b0c89d72ea8ee413b845e7804de184\n"
    },
    {
      "commit": "9bc35116e341cb948abf73a9d13b3ebf08c6c1ef",
      "tree": "edf1b6cc413b153d5792d3dc48c6ef56de1435ae",
      "parents": [
        "1142ffcc9b4624887707e3e7d37e0ec777d099db"
      ],
      "author": {
        "name": "Tyler Gunn",
        "email": "tgunn@google.com",
        "time": "Mon Apr 23 09:52:25 2018 -0700"
      },
      "committer": {
        "name": "Tyler Gunn",
        "email": "tgunn@google.com",
        "time": "Mon Apr 23 09:52:25 2018 -0700"
      },
      "message": "Add ability to log last 2 digits of dialed numbers in userdebug builds.\n\nFilers of bugs often refer to specific phone numbers.  Bug reports by\ndefault obscure dialed phone numbers from the Telecom logs.  This makes it\ndifficult to relate events in the bug report to what the bug filer refers\nto.\n\nTo ease this, in userdebug builds we will now leave the last 2 digits of\ndialed phone numbers un-obfuscated.  User builds will remain obfuscated.\n\nTest: Added unit tests to cover this case.\nBug: 78457192\nChange-Id: I52704cf57ed11b1fa53a55bc883d7d090af661f4\n"
    },
    {
      "commit": "e5bf20608a456c998ad103020ab97b1cd195ed34",
      "tree": "031ed4e8e7d1bf5bfac3f9fe7233e1fe02d6c283",
      "parents": [
        "05011abf27f1d16ea813952318d56cd2e7cc462e"
      ],
      "author": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Thu Apr 19 16:23:53 2018 +0100"
      },
      "committer": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Mon Apr 23 15:46:19 2018 +0100"
      },
      "message": "Move frameworks/base off the SRC_API_DIR variable.\n\nThis directory is going away. Migrate to the new paths, and replace the\nlong list of \"since\" arguments with a loop in the makefile. Also fix the\nsoong buildfile to use the new path and the 28 prebuilts.\n\nThis removes the need to update it every time an API is finalized (in make,\nI don\u0027t know how to make loops in soong).\n\nBug: 77525052\nTest: Verified variable is the same before \u0026 after, except for path change\nChange-Id: I1d4e87e7840e979b83779a2aefe176e7c1ed1527\nMerged-In: I1d4e87e7840e979b83779a2aefe176e7c1ed1527\n"
    },
    {
      "commit": "fc9bc10d69db0d1dcbd14c5d2eff0b0e01a7e55d",
      "tree": "33e2b61f9ae54d4a7725b4c93f7a1b0724e2ed32",
      "parents": [
        "03cdc95f1cc040a0f148fc398b953e6ab25f7c8f",
        "d33f8a1e91fc207c01f8a05c42f06c85758faddb"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Apr 23 05:48:18 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 23 05:48:18 2018 +0000"
      },
      "message": "Merge \"Set country code even when device is not registered on network\""
    },
    {
      "commit": "d33f8a1e91fc207c01f8a05c42f06c85758faddb",
      "tree": "33e2b61f9ae54d4a7725b4c93f7a1b0724e2ed32",
      "parents": [
        "03cdc95f1cc040a0f148fc398b953e6ab25f7c8f"
      ],
      "author": {
        "name": "Jack Yu",
        "email": "jackyu@google.com",
        "time": "Fri Apr 13 14:05:32 2018 -0700"
      },
      "committer": {
        "name": "Jack Yu",
        "email": "jackyu@google.com",
        "time": "Sun Apr 22 14:19:59 2018 -0700"
      },
      "message": "Set country code even when device is not registered on network\n\nExtends the functionality of getNetworkCountryIso to support\nno SIM/no service case. When no SIM/no service, it returns\nthe country code of nearby network (unregistered but cell info\nis available to the device).\n\nTest: Manual\nBug: 64335394\nMerged-In: Ia32cbc9df9b9adf5d7c24c8b90be20063a94a514\nChange-Id: Ia32cbc9df9b9adf5d7c24c8b90be20063a94a514\n(cherry picked from commit ac36896f1aa90ef21cd23bd213674a01f68f48d3)\n"
    },
    {
      "commit": "03cdc95f1cc040a0f148fc398b953e6ab25f7c8f",
      "tree": "a9bba8ef90ba48ed82f442a205ccd3076d63fc7d",
      "parents": [
        "9ee5bb00375cd145ecacbdd415bd39305e3f505a",
        "00c7393a7cbf53752dd946480b58f24c9445bc9e"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Apr 20 17:14:39 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 20 17:14:39 2018 +0000"
      },
      "message": "Merge \"Catch double unbind of dead service\""
    },
    {
      "commit": "00c7393a7cbf53752dd946480b58f24c9445bc9e",
      "tree": "68083da755e580672b46db5209492bef1846be49",
      "parents": [
        "5a533ae4606256580d8d062dd92d742f694ea603"
      ],
      "author": {
        "name": "Tobias Lindskog",
        "email": "tobias.lindskog@sony.com",
        "time": "Mon Mar 12 15:44:47 2018 +0100"
      },
      "committer": {
        "name": "Henrik Baard",
        "email": "henrik.baard@sony.com",
        "time": "Fri Apr 20 08:31:28 2018 +0200"
      },
      "message": "Catch double unbind of dead service\n\nIf a service receives onBindingDied after it has successfully connected\nonce, unbindService would be called once from the onBindingDied and then\nagain from registerServiceLocked when the service was rebound.  This\nsecond attempt would typically crash.\n\nThe first unbindService call has a try/catch, add one around the second\ncall as well.\n\nTest: Manual.  Boots and reboots without problems.\nChange-Id: Ie9eabbcb6ee89c05abc565427465cfd6906f3fa3\n"
    },
    {
      "commit": "9ee5bb00375cd145ecacbdd415bd39305e3f505a",
      "tree": "63b74521c3f429176dd7446199d9b7a28bb24a88",
      "parents": [
        "3a1ca762c9349067fe4f644d483de7d1cf24b5ad",
        "18050000d76b5458938e5b563e2374dbd2d5831e"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Apr 20 01:09:33 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 20 01:09:33 2018 +0000"
      },
      "message": "Merge \"apf: Add immediate encoding tests for LI\""
    },
    {
      "commit": "3a1ca762c9349067fe4f644d483de7d1cf24b5ad",
      "tree": "f50937265c391317df48d30b94b26222e7118894",
      "parents": [
        "122a7b33ad1b128678e7dee59da2a04c4acef484",
        "9d36e6babc38cf7017726a587b656bdd6f8b0051"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Apr 19 23:55:31 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 19 23:55:31 2018 +0000"
      },
      "message": "Merge \"Fix the implementation of BluetoothCodecStatus.equals()\""
    },
    {
      "commit": "9d36e6babc38cf7017726a587b656bdd6f8b0051",
      "tree": "f50937265c391317df48d30b94b26222e7118894",
      "parents": [
        "122a7b33ad1b128678e7dee59da2a04c4acef484"
      ],
      "author": {
        "name": "Pavlin Radoslavov",
        "email": "pavlin@google.com",
        "time": "Thu Apr 19 14:16:15 2018 -0700"
      },
      "committer": {
        "name": "Pavlin Radoslavov",
        "email": "pavlin@google.com",
        "time": "Thu Apr 19 14:36:18 2018 -0700"
      },
      "message": "Fix the implementation of BluetoothCodecStatus.equals()\n\nPreviously, the BluetoothCodecStatus.equals() implementation\nwas incorrect when comparing arrays of capabilities.\nIn the new implementation, the arrays are compared correctly,\nand also the ordering of the capabilities in each array is ignored.\n\nAlso, added unit tests for class BluetoothCodecConfig and class\nBluetoothCodecStatus.\n\nBug: 73404858\nBug: 73379307\nTest: Unit tests (in frameworks/base)\n  runtest --path core/tests/bluetoothtests/src/android/bluetooth/BluetoothCodecConfigTest.java\n  runtest --path core/tests/bluetoothtests/src/android/bluetooth/BluetoothCodecStatusTest.java\n\nChange-Id: If22087465397b7c4175c33f7d1909a15d957fb24\n"
    },
    {
      "commit": "122a7b33ad1b128678e7dee59da2a04c4acef484",
      "tree": "9bd6f0a3b59ccb4d0f278c2114ae8f9ba6ce0b10",
      "parents": [
        "05011abf27f1d16ea813952318d56cd2e7cc462e",
        "91c5dc9a6a591046f87021480d0985a526cd5716"
      ],
      "author": {
        "name": "Cassie Han",
        "email": "xih@google.com",
        "time": "Thu Apr 19 19:23:58 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 19 19:23:58 2018 +0000"
      },
      "message": "Merge \"Cherry-pick \u0027Fix a tiny bug in NetworkScanRequest\u0027\""
    },
    {
      "commit": "18050000d76b5458938e5b563e2374dbd2d5831e",
      "tree": "049f7daf5622d9aa11f5f69fe9110e3146f97a6f",
      "parents": [
        "545d9367e24d1d55b2539c02273f92c61da74af0"
      ],
      "author": {
        "name": "Bernie Innocenti",
        "email": "codewiz@google.com",
        "time": "Thu Apr 19 20:53:00 2018 +0900"
      },
      "committer": {
        "name": "Bernie Innocenti",
        "email": "codewiz@google.com",
        "time": "Thu Apr 19 22:55:35 2018 +0900"
      },
      "message": "apf: Add immediate encoding tests for LI\n\nThis tests that ApfGenerator knows how to optimally encode positive and\nnegative immediates of various sizes.\n\nEquivalent tests will follow for LDDW and STDW.\n\nChange-Id: Ia904aecb155c78569e3cf32a2431570281570481\nBug: 73804303\nTest: runtest tests/net/java/android/net/apf/ApfTest.java\n"
    },
    {
      "commit": "05011abf27f1d16ea813952318d56cd2e7cc462e",
      "tree": "8eccf88a354a573a48a6c847fc2ba0964130db70",
      "parents": [
        "5ace372bc28efc97f6fc5c5e49308e80902fa4ee",
        "545d9367e24d1d55b2539c02273f92c61da74af0"
      ],
      "author": {
        "name": "Bernie Innocenti",
        "email": "codewiz@google.com",
        "time": "Thu Apr 19 13:17:20 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 19 13:17:20 2018 +0000"
      },
      "message": "Merge \"Adjust APF interpreter tests to match APFv4\""
    },
    {
      "commit": "5ace372bc28efc97f6fc5c5e49308e80902fa4ee",
      "tree": "e693802f49ef4c47a64e4dc143d5ae55c2e8ddca",
      "parents": [
        "0e5b92eea6e66cec344facc4bb222c4d4e2e9be5",
        "71d90c43016909308b44ec4fcbeb824f1c82db9f"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Apr 19 11:02:29 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 19 11:02:29 2018 +0000"
      },
      "message": "Merge \"Actually resolve all IPs for Private DNS hostname\""
    },
    {
      "commit": "71d90c43016909308b44ec4fcbeb824f1c82db9f",
      "tree": "e693802f49ef4c47a64e4dc143d5ae55c2e8ddca",
      "parents": [
        "0e5b92eea6e66cec344facc4bb222c4d4e2e9be5"
      ],
      "author": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Thu Apr 19 17:58:15 2018 +0900"
      },
      "committer": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Thu Apr 19 18:02:45 2018 +0900"
      },
      "message": "Actually resolve all IPs for Private DNS hostname\n\nPreviously, we reused the OneAddressPerFamilyNetwork which does\nwhat it says on the tin.  For the resolution that will be used\nto program netd this is not what we really want.\n\nTest: as follows\n    - built\n    - flashed\n    - booted\n    - runtest frameworks-net passes\n    - manual testing of Private DNS passes\nBug: 64133961\nChange-Id: Ieccc4d208b314b81061dc78d83848f97acefe04b\n"
    },
    {
      "commit": "91c5dc9a6a591046f87021480d0985a526cd5716",
      "tree": "7ce4b53d5b592e0c2a724309f15316a4b3eb9c79",
      "parents": [
        "e34c426fd346d041176c83393bb78abfd49f6e9f"
      ],
      "author": {
        "name": "Cassie",
        "email": "xih@google.com",
        "time": "Tue Apr 17 09:20:08 2018 -0700"
      },
      "committer": {
        "name": "Cassie Han",
        "email": "xih@google.com",
        "time": "Wed Apr 18 21:02:02 2018 +0000"
      },
      "message": "Cherry-pick \u0027Fix a tiny bug in NetworkScanRequest\u0027\n\nBug: 77487847\nTest: cts-tradefed run cts -m CtsCarrierApiTestCases --test android.carrierapi.cts.NetworkScanApiTest\nChange-Id: Ic4b167cf4929a1bb86fa7e6768672a9288b96911\nMerged-In: Ic4b167cf4929a1bb86fa7e6768672a9288b96911\n"
    },
    {
      "commit": "0e5b92eea6e66cec344facc4bb222c4d4e2e9be5",
      "tree": "ab5c5a387b6bfa4a47eb75a2cd894157870c4cbe",
      "parents": [
        "b47c9019b5191024b79a13d246dd25ba6d5cfe0c",
        "9f8b61b88affd05a5a0ac4d07be4659f599cb095"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Apr 18 20:17:54 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 18 20:17:54 2018 +0000"
      },
      "message": "Merge \"Migrate android_uiautomator generation to Soong.\""
    },
    {
      "commit": "9f8b61b88affd05a5a0ac4d07be4659f599cb095",
      "tree": "e702dddd01677ed1530c9fc8dc5f826f18ef1cc8",
      "parents": [
        "1cb379b782bc5a168fccb6379fe17cd9148741a4"
      ],
      "author": {
        "name": "Nan Zhang",
        "email": "nanzhang@google.com",
        "time": "Fri Apr 13 15:58:29 2018 -0700"
      },
      "committer": {
        "name": "Nan Zhang",
        "email": "nanzhang@google.com",
        "time": "Wed Apr 18 11:06:01 2018 -0700"
      },
      "message": "Migrate android_uiautomator generation to Soong.\n\nBug: b/70351683\nTest: m clean \u0026\u0026 m android_uiautomator\nand compare the old and new stubs.jar using md5sum.\n\nChange-Id: I01937352ae1a470745f2ab1a9acbb4ea9520e153\nMerged-In: I01937352ae1a470745f2ab1a9acbb4ea9520e153\n"
    },
    {
      "commit": "b47c9019b5191024b79a13d246dd25ba6d5cfe0c",
      "tree": "e7580fdb2def53b5a80e598678aa1963e21aacb1",
      "parents": [
        "5ab0fe1f5672a86eadfec05321a6d650e1e91a6a",
        "50e5273c5f70facf6c78a25525b84c5f3f7b35ab"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Apr 18 12:53:30 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 18 12:53:30 2018 +0000"
      },
      "message": "Merge \"Stop InCall Notification to avoid track leak\""
    },
    {
      "commit": "5ab0fe1f5672a86eadfec05321a6d650e1e91a6a",
      "tree": "397060e50666493000c5261776aa261ebf19b489",
      "parents": [
        "e7a099149f50b8ba1590d45be2aa3e1f61b15311",
        "e102c97b9366c840807d4793e3f577c78c5c4cc1"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Apr 18 04:09:28 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 18 04:09:28 2018 +0000"
      },
      "message": "Merge \"Remove duplicated code in IMMS\""
    },
    {
      "commit": "e7a099149f50b8ba1590d45be2aa3e1f61b15311",
      "tree": "715bdc43ee470e65f30153a0fe170e21c2a2c12d",
      "parents": [
        "1cb379b782bc5a168fccb6379fe17cd9148741a4",
        "00b89515a54b7f8d635408994c6384fb80fe2127"
      ],
      "author": {
        "name": "Shuo Qian",
        "email": "shuoq@google.com",
        "time": "Wed Apr 18 01:39:43 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 18 01:39:43 2018 +0000"
      },
      "message": "Merge \"Revert \"Remove the OEM hook implementation and usage\"\""
    },
    {
      "commit": "50e5273c5f70facf6c78a25525b84c5f3f7b35ab",
      "tree": "71a0964a014ccb2eca959f93c98949919d3d56cb",
      "parents": [
        "5a533ae4606256580d8d062dd92d742f694ea603"
      ],
      "author": {
        "name": "luochaojiang",
        "email": "luochaojiang@xiaomi.com",
        "time": "Mon Apr 16 16:55:03 2018 +0800"
      },
      "committer": {
        "name": "Chaojiang Luo",
        "email": "chaojiangluo@gmail.com",
        "time": "Wed Apr 18 09:29:18 2018 +0800"
      },
      "message": "Stop InCall Notification to avoid track leak\n\nThere is no ringtone when a call is in comming. The audio track is\nout of limit, for the notification tone can not be recycled timely.\nHere is the steps to reproduce this issue.\n1. Call the test device and keep it in communication\n2. Send message to test device, more than 15 messages.\n3. Stop call on test device, re-call the test device.\n4. This is no ringtone now, if not, re try the previous steps.\n\nTest: make, take a photo, record a video and play video\n\nChange-Id: Iba4a41d7b8b601fa500b8a60cadaf04651f37fed\nSigned-off-by: luochaojiang \u003cluochaojiang@xiaomi.com\u003e\n"
    },
    {
      "commit": "e102c97b9366c840807d4793e3f577c78c5c4cc1",
      "tree": "eac417d3ff52f2d6f8f828b4e30118554acd06ec",
      "parents": [
        "f493c66f39bb38bb7a997b7c85c8cf658c268553"
      ],
      "author": {
        "name": "tiansiming [田思明]",
        "email": "tiansiming@xiaomi.com",
        "time": "Tue Apr 17 18:15:33 2018 +0800"
      },
      "committer": {
        "name": "tiansiming [田思明]",
        "email": "tiansiming@xiaomi.com",
        "time": "Wed Apr 18 09:13:42 2018 +0800"
      },
      "message": "Remove duplicated code in IMMS\n\nThere is no need to judge mIsInteractive again\n\nBug: N/A\nTest: N/A\n\nChange-Id: I887b5fdd16e4c39ff2dcf13902dfed69741635f8\nSigned-off-by: tiansiming [田思明] \u003ctiansiming@xiaomi.com\u003e\n"
    },
    {
      "commit": "1cb379b782bc5a168fccb6379fe17cd9148741a4",
      "tree": "682f755e0653d9996538bbd336f5aa8155294349",
      "parents": [
        "f493c66f39bb38bb7a997b7c85c8cf658c268553",
        "502f453ac464850416b629eebb31343c8d1eb5db"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 17 19:50:41 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 17 19:50:41 2018 +0000"
      },
      "message": "Merge \"Correct sendBroadcast test\""
    },
    {
      "commit": "00b89515a54b7f8d635408994c6384fb80fe2127",
      "tree": "1caa2d56dd5c8d4c33d09741a7881de8f0bdc99a",
      "parents": [
        "f493c66f39bb38bb7a997b7c85c8cf658c268553"
      ],
      "author": {
        "name": "sqian",
        "email": "shuoq@google.com",
        "time": "Tue Apr 17 11:54:14 2018 -0700"
      },
      "committer": {
        "name": "sqian",
        "email": "shuoq@google.com",
        "time": "Tue Apr 17 11:55:30 2018 -0700"
      },
      "message": "Revert \"Remove the OEM hook implementation and usage\"\n\nThis reverts commit 2635a89c8cb536d487c5a77ea205f787c19dc92e.\n\nBug: 34344851\nChange-Id: I96697165fd75054de42f007c16ca294ed6725708\n"
    },
    {
      "commit": "502f453ac464850416b629eebb31343c8d1eb5db",
      "tree": "5d2505ef70c0b14e97930c63094569fc6227822b",
      "parents": [
        "5a533ae4606256580d8d062dd92d742f694ea603"
      ],
      "author": {
        "name": "Daniel Bonnevier",
        "email": "daniel.bonnevier@sony.com",
        "time": "Mon Apr 16 13:25:32 2018 +0200"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Tue Apr 17 17:01:53 2018 +0000"
      },
      "message": "Correct sendBroadcast test\n\nCommit 23eb3a19 changed the implementation from sendBroadcast to\nsendBroadcastAsUser but didn\u0027t change the test.\n\nTest: adb shell am instrument -r -w -e class \\\n        android.app.timezone.RulesUpdaterContractTest#sendBroadcast \\\n        com.android.frameworks.coretests/android.support.test.runner.AndroidJUnitRunner\nBug: 78166765\nMerged-In: I0a47e096a46fc63d46dd9ff878a4af0d76af82f0\nChange-Id: I0a47e096a46fc63d46dd9ff878a4af0d76af82f0\n"
    },
    {
      "commit": "545d9367e24d1d55b2539c02273f92c61da74af0",
      "tree": "c343a3968d794e43345df18560134e5a1acbcc71",
      "parents": [
        "f493c66f39bb38bb7a997b7c85c8cf658c268553"
      ],
      "author": {
        "name": "Bernie Innocenti",
        "email": "codewiz@google.com",
        "time": "Mon Apr 16 23:27:51 2018 +0900"
      },
      "committer": {
        "name": "Bernie Innocenti",
        "email": "codewiz@google.com",
        "time": "Tue Apr 17 17:30:41 2018 +0900"
      },
      "message": "Adjust APF interpreter tests to match APFv4\n\nChange-Id: I4311c754f1cb79633d49c5c1c0b4e27c8dde727e\nBug: 73804303\nTest: runtest -x tests/net/java/android/net/apf/ApfTest.java\n"
    },
    {
      "commit": "f493c66f39bb38bb7a997b7c85c8cf658c268553",
      "tree": "25f966bda67cdd53f6485e70741e0b6b9dd55e34",
      "parents": [
        "7b25698549cc39a6dffb9e5dd137bae1cb36f6b0",
        "4b5cf4856064efbc018c0f2b4d6d3ff199403ee0"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 17 00:07:38 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 17 00:07:38 2018 +0000"
      },
      "message": "Merge \"Clarify API doc for BluetoothGattServer::addService\""
    },
    {
      "commit": "7b25698549cc39a6dffb9e5dd137bae1cb36f6b0",
      "tree": "9dc8c57dbb2c4c64b612e2b941c3dc15794e3d03",
      "parents": [
        "d53bd6b86e89cc5f21fc783ef3590878f46b2480",
        "dac8e140184f3ac52210ff3638af3f53edca1ba0"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 17 00:02:32 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 17 00:02:32 2018 +0000"
      },
      "message": "Merge \"Cleanup documentation for LE CoC in BluetoothAdapter\""
    },
    {
      "commit": "d53bd6b86e89cc5f21fc783ef3590878f46b2480",
      "tree": "0a7a1c07db3859ad8f640a402c9ded57940248cb",
      "parents": [
        "c263ce5e2524ffd6f45921f81ec7a7b80720829b",
        "ec4f10df90410fc7e3dfb7437d105edef35644c7"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Apr 16 23:48:48 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 16 23:48:48 2018 +0000"
      },
      "message": "Merge \"Source of deadlock between PlayerBase.mLock and   PlaybackActivityMonitor.mPlayerLock:\""
    },
    {
      "commit": "dac8e140184f3ac52210ff3638af3f53edca1ba0",
      "tree": "6cbd11facd26caba56740ad9cc4f9e94c28a2a72",
      "parents": [
        "c263ce5e2524ffd6f45921f81ec7a7b80720829b"
      ],
      "author": {
        "name": "Stanley Tng",
        "email": "stng@google.com",
        "time": "Wed Apr 04 18:33:46 2018 -0700"
      },
      "committer": {
        "name": "Stanley Tng",
        "email": "stng@google.com",
        "time": "Mon Apr 16 22:33:31 2018 +0000"
      },
      "message": "Cleanup documentation for LE CoC in BluetoothAdapter\n\nTest: Compile\nBug: 77631591\nChange-Id: Ic3c7f13e560534a048bf5c8b274fe62190c214c7\n"
    },
    {
      "commit": "c263ce5e2524ffd6f45921f81ec7a7b80720829b",
      "tree": "5e53b751b1c05bd212a342096b1731602fb80dc9",
      "parents": [
        "9a51f07117b43e2bbd0638b57fcff63652d5364a",
        "3fece48098e12b3e8110faa3fff378e5526bf887"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Apr 16 21:24:45 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 16 21:24:45 2018 +0000"
      },
      "message": "Merge \"Migrate android.test.base.stubs generation to Soong.\""
    },
    {
      "commit": "fb6daf7cf7f30ef05d4a78c6462b881bb4e8350f",
      "tree": "3eb5941d887e8b4a2157f047789f198885ed7909",
      "parents": [
        "5f29cbb53b85a0fd4733a8eeaa5aa70c5743dfe3"
      ],
      "author": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Fri Apr 06 11:27:40 2018 -0700"
      },
      "committer": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Mon Apr 16 13:53:50 2018 -0700"
      },
      "message": "Further Clarify Scope of KEY_CARRIER_NAME_OVERRIDE\n\nThere is still confusion about the scope of the\nKEY_CARRIER_NAME_OVERRIDE. This CL further clarifies\nthat the carrier, for purposes of this string, is the\nservice provider. Thus, the CARRIER_NAME_OVERRIDE will\nstill be subject to SPN display rules.\n\nNote: to use this override in scenarios such as roaming\nwhere the display rules may not choose the name of the\nhome operator (and thus not choose this override), a\nservice provider may choose to use other flags such as\nKEY_FORCE_HOME_NETWORK_BOOL and\nKEY_SPN_DISPLAY_RULE_USE_ROAMING_FROM_SERVICE_STATE_BOOL\nto achieve the desired display behavior.\n\nBug: 77461054\nTest: none (docstring-only change)\nMerged-In: Id866df7ef9ce593de1f9d31d2556af4bfc766a8e\nChange-Id: Id866df7ef9ce593de1f9d31d2556af4bfc766a8e\n(cherry picked from commit 178020a2f8c7710c90a66793176fae33108f9c15)\n"
    },
    {
      "commit": "4b5cf4856064efbc018c0f2b4d6d3ff199403ee0",
      "tree": "50e1a8576baa14d80f4dc934607bba82c5f7a749",
      "parents": [
        "5f29cbb53b85a0fd4733a8eeaa5aa70c5743dfe3"
      ],
      "author": {
        "name": "Stanley Tng",
        "email": "stng@google.com",
        "time": "Fri Apr 13 14:54:10 2018 -0700"
      },
      "committer": {
        "name": "Stanley Tng",
        "email": "stng@google.com",
        "time": "Mon Apr 16 13:12:52 2018 -0700"
      },
      "message": "Clarify API doc for BluetoothGattServer::addService\n\nClarify that the caller has to wait for onServiceAdded callback before\ncalling BluetoothGattServer::addService again.\n\nBug: 72717069\nTest: Compile\nChange-Id: I20b031c724ba64bfd71cf10e58e587f69e4a2555\n"
    },
    {
      "commit": "9a51f07117b43e2bbd0638b57fcff63652d5364a",
      "tree": "da82da7a6d233b7d1ee687dab87b53fabdf10fdd",
      "parents": [
        "087bae3ffe78eab57bff6c073c366856ebf32ed8",
        "60fd195a0aa04fa5257d1adbf0d7d936e7541879"
      ],
      "author": {
        "name": "Hall Liu",
        "email": "hallliu@google.com",
        "time": "Mon Apr 16 18:40:28 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 16 18:40:28 2018 +0000"
      },
      "message": "Merge \"Move RTT system setting to Settings.Secure\""
    },
    {
      "commit": "087bae3ffe78eab57bff6c073c366856ebf32ed8",
      "tree": "67ff268185ae566039633321223bfe69e963c323",
      "parents": [
        "5a533ae4606256580d8d062dd92d742f694ea603",
        "5d18eef1652453e76d4b8fefbafa0fe73123a0b9"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Apr 16 16:33:24 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 16 16:33:24 2018 +0000"
      },
      "message": "Merge \"Revert \"Frameworks/base: Compiled-classes support\"\""
    },
    {
      "commit": "5a533ae4606256580d8d062dd92d742f694ea603",
      "tree": "024114601ba016781201ea3e04b3171b43a87d96",
      "parents": [
        "3fb7c4740e6635672b062e9a3479e5577ee6f937",
        "a9949e9e2599c5f97bf83c12c8f4fa66be9dd294"
      ],
      "author": {
        "name": "Bernie Innocenti",
        "email": "codewiz@google.com",
        "time": "Mon Apr 16 05:24:29 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 16 05:24:29 2018 +0000"
      },
      "message": "Merge \"Teach ApfGenerator about the new opcodes for accessing data memory\""
    },
    {
      "commit": "3fb7c4740e6635672b062e9a3479e5577ee6f937",
      "tree": "07b2e0c2580f3eae7d81d44d841ff42e1d8b4bc0",
      "parents": [
        "828f14d58aeabfbdd9af77ae56f061dd7baf63de",
        "f1e7cf499bbb06fce927e542211338f66902074b"
      ],
      "author": {
        "name": "Tyler Gunn",
        "email": "tgunn@google.com",
        "time": "Mon Apr 16 04:18:00 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 16 04:18:00 2018 +0000"
      },
      "message": "Merge \"Add permission whitelist for EmergencyInfo app.\""
    },
    {
      "commit": "3fece48098e12b3e8110faa3fff378e5526bf887",
      "tree": "21c29bf5d52af03a2a8191c6d2fe594944ede2f8",
      "parents": [
        "828f14d58aeabfbdd9af77ae56f061dd7baf63de"
      ],
      "author": {
        "name": "Nan Zhang",
        "email": "nanzhang@google.com",
        "time": "Fri Apr 13 14:48:32 2018 -0700"
      },
      "committer": {
        "name": "Nan Zhang",
        "email": "nanzhang@google.com",
        "time": "Fri Apr 13 14:55:16 2018 -0700"
      },
      "message": "Migrate android.test.base.stubs generation to Soong.\n\nBug: b/70351683\nTest: m clean \u0026\u0026 m check-android-test-base-api\nand compare the old and new stubs.jar using md5sum.\n\nChange-Id: Ia9273016c4d3472888f970cbddf0ed85c0501eb3\n"
    },
    {
      "commit": "5d18eef1652453e76d4b8fefbafa0fe73123a0b9",
      "tree": "424e778cc33c7c28799a3bc82e01827c946d6c41",
      "parents": [
        "828f14d58aeabfbdd9af77ae56f061dd7baf63de"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Apr 13 11:30:09 2018 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Apr 13 13:07:56 2018 -0700"
      },
      "message": "Revert \"Frameworks/base: Compiled-classes support\"\n\nThis reverts commit ca775941f3b7981aabf3a6a3b84d6c94f4f76aff.\n\nBug: 76145463\nTest: m\nChange-Id: I5a368cd01812e16869352ec219eae095df4919c4\n"
    },
    {
      "commit": "828f14d58aeabfbdd9af77ae56f061dd7baf63de",
      "tree": "93ba53132986dc47ec1073d3130e2c5fb7a923d7",
      "parents": [
        "5f29cbb53b85a0fd4733a8eeaa5aa70c5743dfe3",
        "99ce5c70907df79f2e5a4fb6c54665cf4018a44d"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Apr 13 17:28:22 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 13 17:28:22 2018 +0000"
      },
      "message": "Merge \"Add filegroup for supporting apache-http stubs generation.\""
    },
    {
      "commit": "5f29cbb53b85a0fd4733a8eeaa5aa70c5743dfe3",
      "tree": "d5aab0f7bd594ff2734bd0d39529b4fa1c69233a",
      "parents": [
        "420ab92b0bc79b7f603e04308e1a2abcf348860d",
        "3fb224521ade14584c0d44ccaa4b9e9053fae7cb"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Apr 13 10:55:05 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 13 10:55:05 2018 +0000"
      },
      "message": "Merge \"Make android.test.mock.stubs in Android.bp\""
    },
    {
      "commit": "a9949e9e2599c5f97bf83c12c8f4fa66be9dd294",
      "tree": "95395d1e810756b820db5a2e2f4895e41041c739",
      "parents": [
        "1142ffcc9b4624887707e3e7d37e0ec777d099db"
      ],
      "author": {
        "name": "Bernie Innocenti",
        "email": "codewiz@google.com",
        "time": "Thu Mar 22 23:07:47 2018 +0900"
      },
      "committer": {
        "name": "Bernie Innocenti",
        "email": "codewiz@google.com",
        "time": "Fri Apr 13 18:31:58 2018 +0900"
      },
      "message": "Teach ApfGenerator about the new opcodes for accessing data memory\n\nBug: 73804303\nBug: 36221302\nTest: runtest -x tests/net/java/android/net/apf/ApfTest.java\nChange-Id: Iaf92ca0bbebaaf66d0f2f7adc1a9014607f3ecf6\n"
    },
    {
      "commit": "3fb224521ade14584c0d44ccaa4b9e9053fae7cb",
      "tree": "d5aab0f7bd594ff2734bd0d39529b4fa1c69233a",
      "parents": [
        "420ab92b0bc79b7f603e04308e1a2abcf348860d"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Tue Mar 13 16:06:03 2018 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Fri Apr 13 11:21:54 2018 +0900"
      },
      "message": "Make android.test.mock.stubs in Android.bp\n\nStubs libraries android.test.mock.stubs and\nandroid.test.mock.stubs-system are now built in Android.bp.\n(Note that API check and update are still done in Android.mk)\n\nAs a good side effect, this allows android.test.runner[-minus-junit]\nlibraries (that are defined in Android.bp) to be built with the\nandroid.test.mock.stubs instead of the runtime library\nandroid.test.mock. This in turn allows us to prevent java:sdk -\u003e\njava:platform dependency also in Soong, because the runner libraries\nwere the only violators.\n\nBug: 73829976\nTest: m -j android.test.mock.stubs android.test.mock.stubs-system\nTest: m -j checkapi\nTest: m -j update-api\nMerged-In: I830a8eb13aa43b9aa4c8394f3c2fd91ee18b1f85\nChange-Id: I830a8eb13aa43b9aa4c8394f3c2fd91ee18b1f85\n(cherry picked from commit e649b8066c3385ba0b667a79d378402b15ef3127)\n"
    },
    {
      "commit": "ec4f10df90410fc7e3dfb7437d105edef35644c7",
      "tree": "aa8ecd713352670b84087a602e2217a1bd16d929",
      "parents": [
        "bd6bf7cbe80956c7950e0980b959340bbf224c1d"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Apr 12 17:23:22 2018 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Apr 12 17:27:30 2018 -0700"
      },
      "message": "Source of deadlock between PlayerBase.mLock and\n  PlaybackActivityMonitor.mPlayerLock:\n\nandroid.media.MediaPlayer.release()\n\u003e android.media.PlayerBase.baseRelease()\n  \u003e synchronized (mLock)\n    \u003e com.android.server.audio.PlaybackActivityMonitor.releasePlayer()\n       \u003e synchronized(mPlayerLock)\nand:\n\ncom.android.server.audio.PlaybackActivityMonitor.unmutePlayersForCall()\n\u003e synchronized (mPlayerLock)\n  \u003e android.media.PlayerProxy.setVolume()\n    \u003e android.media.PlayerBase$IPlayerWrapper.setVolume()\n      \u003e android.media.PlayerBase.baseSetVolume()\n        \u003e synchronized (mLock)\n          playerSetVolume()\n\nSince system_server can have its own players, the calls to\n AudioService from PlayerBase can be synchronous, hence the\n deadlock.\nThe fix consists in never holding the lock in PlayerBase\n while calling into AudioService.\nRefactor the playstate update into a method used for\n start / stop / pause.\n\nBug: 72294559\nTest: see bug\nChange-Id: Ib41045de124683a7484184cf63577bd2412d1362\n"
    },
    {
      "commit": "420ab92b0bc79b7f603e04308e1a2abcf348860d",
      "tree": "77ae037eedb58db1c17a7743bb6f3b1bf3ce8351",
      "parents": [
        "bd6bf7cbe80956c7950e0980b959340bbf224c1d",
        "780b62b3b52566b2e6ea5d0070a3276189040392"
      ],
      "author": {
        "name": "Chen Xu",
        "email": "fionaxu@google.com",
        "time": "Thu Apr 12 22:58:37 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 12 22:58:37 2018 +0000"
      },
      "message": "Merge \"A test api to override carrier information\""
    }
  ],
  "next": "780b62b3b52566b2e6ea5d0070a3276189040392"
}
