)]}'
{
  "log": [
    {
      "commit": "c204c223a77237e13d084d58590acb16b025c676",
      "tree": "5c9a11890a222d60deabfccef5292c3a63d9f11f",
      "parents": [
        "71b4882da60867e948bbaaf86c03066bc07ccc85"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Nov 27 15:02:10 2017 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Nov 27 17:07:40 2017 -0700"
      },
      "message": "Deeper sanity checking of emitted types.\n\nWhen emitting a method or field, verify that we\u0027re able to reference\nall mentioned types.  This ensures that we don\u0027t accidentally\nreference undefined classes/interfaces.\n\nTest: manual inspection of API files\nBug: 69791141\nChange-Id: I84e0c87fe83daa118661f61dbdf17b58ea5282d4\n"
    },
    {
      "commit": "b8b579e1b8698fc00fdd8950b5645f9e34bfc3ba",
      "tree": "2fbb0c52848b3d388e65e1e6ce69f241daa8d7a5",
      "parents": [
        "9650a435ed909ed4062d64fd2d9b085628d4a455"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Nov 22 12:34:08 2017 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Nov 22 12:34:08 2017 -0700"
      },
      "message": "Emit all APIs using Predicates.\n\nGenerate APIs using updated doclava.\n\nTest: manual inspection of API text files\nBug: 69505783\nChange-Id: I2efd22998a64ebb57588b073c4a591242f4aef91\n"
    },
    {
      "commit": "fff7295026a9ab024996659d6111d27b2eb20e3e",
      "tree": "3c87a85a321a6e262bc1b8207d3de8728eca96da",
      "parents": [
        "6fc20cbffb9c9cdcbfdf013c9c4f52bff2037609"
      ],
      "author": {
        "name": "Alex Klyubin",
        "email": "klyubin@google.com",
        "time": "Fri Aug 18 14:51:58 2017 -0700"
      },
      "committer": {
        "name": "Alex Klyubin",
        "email": "klyubin@google.com",
        "time": "Fri Aug 18 14:58:06 2017 -0700"
      },
      "message": "Delete android.net.PskKeyManager\n\nandroid.net.PskKeyManager was @remove\u0027d in Android O (API Level 26)\nwhich means it may still be available on Android O platform, but is\nnot part of its public API. This commit deletes this class from\nfuture platform versions.\n\nThe reasoning for the removal of this class is that:\n1. it is incompatible with TLS 1.3, and\n2. TLS-PSK cannot be exposed as a standalone primitive in a safe by\n   default way. There is no way for such primitive to ensure that\n   it is used with a shared secret which is not hard-coded into the\n   app or is otherwise publicly known.\n\nTest: make\nTest: Run a test app which uses PskKeyManager -- the app crashes\n      because the class is not found\nBug: 34722996\nChange-Id: I5f9a1a1784004b1387ef756eadf8fa06796c96bc\n"
    },
    {
      "commit": "f52db085e2e2e6279c83de9a3aeb774decd18513",
      "tree": "752c0bfb17332e886bc2e0170623ed6bc02da7ad",
      "parents": [
        "b26cc6aef4a49ef2ae39374b22f8fc150f846c67"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Aug 09 08:30:27 2017 -0600"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Aug 09 09:18:20 2017 -0600"
      },
      "message": "Fix handling of @removed APIs.\n\nThe @removed docs tag means that a particular API should be considered\nas removed from the API surface area that it otherwise would have been\nexposed through.\n\nThis set of CLs is fixing a bug where we @removed had been treated as\nalways removing from the public API.\n\nBug: 62341924\nTest: make -j32 update-api\nChange-Id: I336b2df4804e947a0b93a12269d6e7c5594eef7e\n"
    },
    {
      "commit": "e6edaa9ea190a6e1bedb21332d1e0aa93d68aeff",
      "tree": "0fd0c4d7c102921c90d8a493b7efa932cda6d54b",
      "parents": [
        "62bf2b96d2c1d161c126b0276beb08c645d21c44"
      ],
      "author": {
        "name": "Rebecca Silberstein",
        "email": "silberst@google.com",
        "time": "Mon Jul 10 11:34:55 2017 -0700"
      },
      "committer": {
        "name": "Rebecca Silberstein",
        "email": "silberst@google.com",
        "time": "Mon Jul 17 18:46:27 2017 +0000"
      },
      "message": "WifiManager: deprecate and remove setWifiApEnabled\n\nOfficially deprecate and remove the setWifiApEnabled call.\n\nBug: 38436773\nTest: frameworks/opt/net/wifi/tests/wifitests/runtests.sh\nTest: frameworks/base/wifi/tests/runtests.sh\nTest: cts-tradefed run cts-dev --mo CtsNetTestCases -t android.net.wifi.cts.WifiManagerTest\nChange-Id: Ifefe0b186d074b49ab1cc94e1c166117f3d7bdf7\n"
    },
    {
      "commit": "4233f032fd41e82d1ce09b48860f8ae3f73fa5e0",
      "tree": "311d8c0b7136e473895491681062a11e8f7a7d96",
      "parents": [
        "53313d7e8153982f842910118371e1dc061248cd"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Sat Jul 15 12:58:38 2017 -0600"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Sat Jul 15 21:08:56 2017 -0600"
      },
      "message": "Test if allocation supported; @removed clean up.\n\nSM.allocateBytes() doesn\u0027t offer a clear way to detect if a failed\nrequest could ever succeed.  (For example, we can never work with\npipes, or files on an unsupported storage device.)  So give\ndevelopers a first-class API to test if allocation is supported.\n\nIf the underlying filesystem doesn\u0027t support fallocate(), fall back\nto ftruncate() instead of failing completely.\n\nClean up @removed APIs that were refactoring during API 26 review\nprocess.\n\nRemove support for storing downloads on the /cache partition, which\ndoesn\u0027t exist on many devices.\n\nBug: 63057877\nTest: bit DownloadProviderTests:*\nTest: bit DocumentsUITests:com.android.documentsui.services.CopyJobTest\nTest: bit DocumentsUITests:com.android.documentsui.services.MoveJobTest\nChange-Id: I85d42a1a7240034b4f2a6f359011ac182bdce36e\n"
    },
    {
      "commit": "7ca33079fda388dd3bd81819b280e578e5d6b38b",
      "tree": "451287d2a262621a685e70b3e61a33e5fb1ef2ea",
      "parents": [
        "18ca6c621aa60603a86153ef7a2a96522996ba31"
      ],
      "author": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Thu Jun 29 13:58:24 2017 -0400"
      },
      "committer": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Wed Jul 05 09:17:49 2017 -0400"
      },
      "message": "Hide some systemapi methods\n\nTest: make\nChange-Id: I0234ca06f68f0a25e1923e171cb6ef19d848aecd\nFixes: 62342239\nFixes: 62264035\n"
    },
    {
      "commit": "8c6969b69bce413df9e68063da7477d1b3c6764c",
      "tree": "bb16a5ff1a80a04653bc5f5b704f943ea42bc24b",
      "parents": [
        "9363d33262631651e39c4882a13a06ee4319c4fd"
      ],
      "author": {
        "name": "Tony Mak",
        "email": "tonymak@google.com",
        "time": "Wed May 17 16:17:55 2017 +0100"
      },
      "committer": {
        "name": "Tony Mak",
        "email": "tonymak@google.com",
        "time": "Wed May 17 15:20:04 2017 +0000"
      },
      "message": "Remove the old version of setAffiliationIds\n\nTest: Can build\n\nBuild: 37622682\n\nChange-Id: I07e630e96f5aed5d450652c465e00ffed13a2a2c\n"
    },
    {
      "commit": "b2bd32929b3b873c16f400524d37e94e669953b3",
      "tree": "fa98fd9f3e806527efc27725745ae4eeb70819c2",
      "parents": [
        "3a01c85646e1446266c99bfdcdc77c490db41005",
        "9407a9490bc0530d3d1d8fab711cfd06a593a75a"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue May 16 18:44:23 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 16 18:44:28 2017 +0000"
      },
      "message": "Merge \"Remove deprecated recommendation request code.\" into oc-dev"
    },
    {
      "commit": "9407a9490bc0530d3d1d8fab711cfd06a593a75a",
      "tree": "a0aecca6185a0f1ac63b113531455f1ecfb10e6c",
      "parents": [
        "6c34dd58f6d25eaf75e084f5a21e50c0bd80a7df"
      ],
      "author": {
        "name": "Jeremy Joslin",
        "email": "jjoslin@google.com",
        "time": "Tue Apr 25 16:32:45 2017 -0700"
      },
      "committer": {
        "name": "Jeremy Joslin",
        "email": "jjoslin@google.com",
        "time": "Thu May 11 15:43:57 2017 +0000"
      },
      "message": "Remove deprecated recommendation request code.\n\nRemoved all deprecated code related to network recommendation\nrequests.\n\nTest: adb shell am instrument -e class android.net.NetworkRecommendationProviderTest -w com.android.frameworks.coretests/android.support.test.runner.AndroidJUnitRunner\nTest: runtest frameworks-services -c com.android.server.NetworkScorerAppManagerTest\nTest: runtest frameworks-services -c com.android.server.NetworkScoreServiceTest\nTest: gts-tradefed run gts -m GtsGmscoreHostTestCases -t com.google.android.gts.netrec.NetRecHostTest\nBug: 37357264\nChange-Id: I81bb6ff6236b249b8e14058c1bfdb938451a75b0\n"
    },
    {
      "commit": "653c32432d210a1c9687324e03766b6f09da403a",
      "tree": "46d3fa24ba7421f2e00e7eb0e866bfd04c2baa4c",
      "parents": [
        "abfa176b4566b81e20444e94dd97ee091f8cae98"
      ],
      "author": {
        "name": "Kenny Guy",
        "email": "kennyguy@google.com",
        "time": "Thu May 11 12:40:25 2017 +0100"
      },
      "committer": {
        "name": "Kenny Guy",
        "email": "kennyguy@google.com",
        "time": "Thu May 11 12:44:23 2017 +0100"
      },
      "message": "Cleanup API that is already @removed\n\nEVICT_CE_KEY was @removed before API freeze\nnow removing it entirely.\n\nBug: 37663081\nTest: compiles\nChange-Id: I9ab318196cfe2da601be65b26a3b579f2f4bad82\n"
    },
    {
      "commit": "ca754789c13c4b9f5a286ef88e7d867a78da5408",
      "tree": "e04d0dc312d83daed970075a260dda0ab3a8fe74",
      "parents": [
        "3b213ed438af5143756c19c9464e9233228e304d"
      ],
      "author": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Tue May 02 15:14:23 2017 -0700"
      },
      "committer": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Tue May 02 15:18:23 2017 -0700"
      },
      "message": "Restoring old methods for compatibility.\n\nBug: 37637423\nTest: Build and test PIP apps\nChange-Id: I9ccb49a3e42de55a249ab54bde2f3c5a1c179c1c\n"
    },
    {
      "commit": "0a5b14309af414e28170124a82049de2c6434758",
      "tree": "dbaf009a4f3051d8432cf790d31aadb558e8bd61",
      "parents": [
        "ba9b2ce254e507fe1fa51194236b9e41562fc91b",
        "2c60ef0fae235cd980512f53a8f1de52735b0087"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@google.com",
        "time": "Tue May 02 00:44:47 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 02 00:44:51 2017 +0000"
      },
      "message": "Merge \"Video badging levels: @Deprecate and @remove\" into oc-dev"
    },
    {
      "commit": "0d6c3a691ec020d5d67f2040c032043b08f6e3d2",
      "tree": "1df6e65be133d393dcfb1741bc1c54850cdeb606",
      "parents": [
        "f852ed40a6ac4af45dc3f7daabfd25c09460c8e5",
        "f29d19610d7fe7c3b757dd6348a2bffc7e7b9435"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon May 01 23:15:54 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon May 01 23:15:59 2017 +0000"
      },
      "message": "Merge \"Rename to follow API council guidance.\" into oc-dev"
    },
    {
      "commit": "2c60ef0fae235cd980512f53a8f1de52735b0087",
      "tree": "b27b29c072dfee3bb3bf4986e669feb956d94133",
      "parents": [
        "9be76f0129a7d021558fa76fcf40c1d666ba9ddc"
      ],
      "author": {
        "name": "Joe LaPenna",
        "email": "jlapenna@google.com",
        "time": "Mon May 01 09:46:01 2017 -0700"
      },
      "committer": {
        "name": "Joe LaPenna",
        "email": "jlapenna@google.com",
        "time": "Mon May 01 15:38:17 2017 -0700"
      },
      "message": "Video badging levels: @Deprecate and @remove\n\nVideo based badging is not going out in O. Hide video-terminology\nconstants.\n\nBug: 37687077\nTest: make update-api;\nChange-Id: Ibd3a732be11bcd0f6b1077943a34b77f7c971ee3\n"
    },
    {
      "commit": "9be76f0129a7d021558fa76fcf40c1d666ba9ddc",
      "tree": "4288700ce1e530ad558427d96b1f2376fe48b70e",
      "parents": [
        "1f66f42c9f17ec221c25e4915e6885df47d92dda",
        "2caddc5ef42d67bf8037b707c1cd5a8f9bb93f9c"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon May 01 22:05:23 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon May 01 22:05:29 2017 +0000"
      },
      "message": "Merge \"Marking deprecated recommendation request code as @removed.\" into oc-dev"
    },
    {
      "commit": "f29d19610d7fe7c3b757dd6348a2bffc7e7b9435",
      "tree": "46e372dc0f5ef6aff7d5a042f1482388850dd602",
      "parents": [
        "a08ba3ef31e135ded437b0ca6f83bfe77a31c33b"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon May 01 15:09:11 2017 -0600"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon May 01 15:09:46 2017 -0600"
      },
      "message": "Rename to follow API council guidance.\n\nTest: builds, boots\nBug: 37422404\nChange-Id: Idcec897e775f2613805a86209615e389b63bd78d\n"
    },
    {
      "commit": "2caddc5ef42d67bf8037b707c1cd5a8f9bb93f9c",
      "tree": "f13463ad8058efcec451aab742f30f8a72c6a15d",
      "parents": [
        "030107f0bdebb1d52838baab87b5d0146e6586b4"
      ],
      "author": {
        "name": "Jeremy Joslin",
        "email": "jjoslin@google.com",
        "time": "Mon May 01 10:02:25 2017 -0700"
      },
      "committer": {
        "name": "Jeremy Joslin",
        "email": "jjoslin@google.com",
        "time": "Mon May 01 10:42:32 2017 -0700"
      },
      "message": "Marking deprecated recommendation request code as @removed.\n\nTest: adb shell am instrument -e class android.net.NetworkRecommendationProviderTest -w com.android.frameworks.coretests/android.support.test.runner.AndroidJUnitRunner\nTest: Built \u0026 ran\nBug: 37357264\nChange-Id: I6d55fbad87b11c99e7ddac07cfaa82efeee33187\n"
    },
    {
      "commit": "000ce805050f0bdbf485464b84eb2c08bca5ad72",
      "tree": "a74d30d8fd624d78e892543d558d7fd523d80f65",
      "parents": [
        "d9f6946c42f9d3c51f3a48409bdd5632cc8b9fc1"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Sat Apr 29 13:13:27 2017 -0600"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Sat Apr 29 13:14:17 2017 -0600"
      },
      "message": "Updates based on API council guidance.\n\nTest: builds, boots\nChange-Id: I223faf55c1e1b4d81d11b4c8b2d93ccd131c969b\nFixes: 37775662\nFixes: 37748635\nFixes: 37673408\nFixes: 37672564\nFixes: 37672218\nFixes: 37638323\nFixes: 37637423\n"
    },
    {
      "commit": "060f0f0341307104f3e54a8391ba334db89b9ae8",
      "tree": "4b97319d37803a03b2b2e6fe1184e649dbaa4143",
      "parents": [
        "e97fae51106b8c87dcc36077f0acb6a2a8a6d250",
        "be2922ff34424cfb996d895cde0cb31c724d09dc"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Apr 29 15:54:21 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Apr 29 15:54:27 2017 +0000"
      },
      "message": "Merge \"A11y changes for API council\" into oc-dev"
    },
    {
      "commit": "be2922ff34424cfb996d895cde0cb31c724d09dc",
      "tree": "75f7ffa0348283cd5306685e87d3acdd83892d80",
      "parents": [
        "076a255a76c8b9aaeb40b873714a6e20ffc9dc6b"
      ],
      "author": {
        "name": "Phil Weaver",
        "email": "pweaver@google.com",
        "time": "Fri Apr 28 14:58:35 2017 -0700"
      },
      "committer": {
        "name": "Phil Weaver",
        "email": "pweaver@google.com",
        "time": "Fri Apr 28 14:58:35 2017 -0700"
      },
      "message": "A11y changes for API council\n\nBug: 37749679\nBug: 37747749\nBug: 37737948\nBug: 37718183\nBug: 37720667\nBug: 37724600\nBug: 37708057\n\nTest: Updating unit and cts tests, which still pass.\nChange-Id: If28bdf985c4314e8e84dcd6510f406dd4e80dd38\n"
    },
    {
      "commit": "5b26dac2c36d07a36009cc66c550dab814ba2c5e",
      "tree": "227da2589524a25ef09bd53f7171f391155c9c67",
      "parents": [
        "7188fda4af732e6d776ed183d3fb0b6495abde9e",
        "c35c02f1eaeeab23081b94866a1903e3175fc461"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@google.com",
        "time": "Fri Apr 28 17:53:09 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 28 17:53:14 2017 +0000"
      },
      "message": "Merge \"Change ClipData.addItem signature\" into oc-dev"
    },
    {
      "commit": "2c20a0f8852f0d0d179614fbcb86be06833cd2aa",
      "tree": "5d710ddd95dada0ede7d328c5a73c184af820128",
      "parents": [
        "8ae5e04636cb094fe941de4f3ee0cb71dcbdb3c7",
        "17e1b5da53d508c3eccc9a6be276f0b6dacfc246"
      ],
      "author": {
        "name": "Andrew Scull",
        "email": "ascull@google.com",
        "time": "Fri Apr 28 17:41:48 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 28 17:42:00 2017 +0000"
      },
      "message": "Merge \"Expand abbreviation in constant identifier.\" into oc-dev"
    },
    {
      "commit": "77cc43e0d261a3db835d062e5c770b91b0a80bd9",
      "tree": "f5f70e7d01a47bca9df6bc42b9692ebe17156174",
      "parents": [
        "533538c96e3ec182cf8fb89dd91f6c7d82967eb3",
        "a4d34d971c9566a162a53e6b027ba2bc341ae5b4"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Apr 28 17:10:12 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 28 17:10:16 2017 +0000"
      },
      "message": "Merge \"Respond to API council feedback.\" into oc-dev"
    },
    {
      "commit": "17e1b5da53d508c3eccc9a6be276f0b6dacfc246",
      "tree": "7e6980d08778e0eaa205dbf577a41bd15003b5f3",
      "parents": [
        "0c21500920cac1e736f877e950e28eaa0b8b3f81"
      ],
      "author": {
        "name": "Andrew Scull",
        "email": "ascull@google.com",
        "time": "Tue Apr 25 14:44:24 2017 +0100"
      },
      "committer": {
        "name": "Andrew Scull",
        "email": "ascull@google.com",
        "time": "Fri Apr 28 11:49:50 2017 +0100"
      },
      "message": "Expand abbreviation in constant identifier.\n\nThe abbreviation is not in common use. Also remove FBE from\ndocumentation as it also isn\u0027t used elsewhere.\n\nTest: Build success\nBug: 37621349\nChange-Id: Icf19be5e96e71dcd45aa7cac8f58b05b6d77d02b\n"
    },
    {
      "commit": "c35c02f1eaeeab23081b94866a1903e3175fc461",
      "tree": "55f2fa794cda903d300ec73245060c5e4a43f5bb",
      "parents": [
        "af12b17674ba2122da6512358b52800829734591"
      ],
      "author": {
        "name": "Vladislav Kaznacheev",
        "email": "kaznacheev@google.com",
        "time": "Thu Apr 20 08:38:21 2017 -0700"
      },
      "committer": {
        "name": "Vladislav Kaznacheev",
        "email": "kaznacheev@google.com",
        "time": "Thu Apr 27 15:29:11 2017 -0700"
      },
      "message": "Change ClipData.addItem signature\n\nMake ContentResolver the first parameter.\n\nBug: 37419379\nTest: android.content.cts.ClipboardManagerTest\nChange-Id: I3f7772e8ddc93eec0e930b62c722a145f9e6f0fa\n"
    },
    {
      "commit": "a4d34d971c9566a162a53e6b027ba2bc341ae5b4",
      "tree": "69112edf49564387b09dadb878e6f01edcfbb9aa",
      "parents": [
        "dd91a5636bec399be1f9e6af298bc667e0c25b09"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Apr 27 11:21:41 2017 -0600"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Apr 27 11:33:39 2017 -0600"
      },
      "message": "Respond to API council feedback.\n\nMove aggressive allocation to @SystemApi, which means we can hide\nthe \"flags\" API variants.\n\nRemove UUID APIs, since we should use existing Serializable APIs.\n\nRelax permission checks to allow apps to ask for their own stats.\n\nImprove docs.\n\nTest: cts-tradefed run commandAndExit cts-dev -m CtsAppSecurityHostTestCases -t android.appsecurity.cts.StorageHostTest\nBug: 37534687, 37534941, 37718184, 37738770\nChange-Id: I6a763fb3ab3169c8d3329765bb31e1ee08d9ced7\n"
    },
    {
      "commit": "424dd39e256b880b0a18d8570daf399885a7567b",
      "tree": "be31d7c604b674f5a9118b2b4b87324d50a1f315",
      "parents": [
        "f4362fda59b7df6ad3e1b6c418deb6a7ee439b8f",
        "3165743c5040fb47a32ef30ccb7ffe11275a547e"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Apr 27 09:41:08 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 27 09:41:18 2017 +0000"
      },
      "message": "Merge \"setAffiliationIds and getAffiliationIds uses set instead of list\" into oc-dev"
    },
    {
      "commit": "3165743c5040fb47a32ef30ccb7ffe11275a547e",
      "tree": "9bf1073b404bad242dc0e2eeb70d34e32da8bc32",
      "parents": [
        "9226516cef7e4999dd339678ce32dea8a000046d"
      ],
      "author": {
        "name": "Tony Mak",
        "email": "tonymak@google.com",
        "time": "Tue Apr 25 09:29:55 2017 +0100"
      },
      "committer": {
        "name": "Tony Mak",
        "email": "tonymak@google.com",
        "time": "Wed Apr 26 22:42:19 2017 +0000"
      },
      "message": "setAffiliationIds and getAffiliationIds uses set instead of list\n\nDidn\u0027t use @remove because java doesn\u0027t support two methods differs from\nthe return type only.\n\nTest: cts-tradefed run cts-dev --module DevicePolicyManager --test com.android.cts.devicepolicy.DeviceOwnerTest#testLockTask_unaffiliatedUser\nTest: runtest -x frameworks/base/services/tests/servicestests/src/com/android/server/devicepolicy/DevicePolicyManagerTest.java\nTest: cts-tradefed run cts-dev --module DevicePolicyManager  --test com.android.cts.devicepolicy.DeviceOwnerPlusProfileOwnerTest\n\nChange-Id: Ic7c7221ef5e680a6765f028c2ab73d4c2f908c58\nFix: 37622682\n"
    },
    {
      "commit": "54084b64b1860b652b1c50ba942b4cfc7fb28805",
      "tree": "88d3db6e8f458f5ea4c7e75ceabfdaa9db818997",
      "parents": [
        "cd68c334bad676e4b29db77c78f61eb48fd75df1"
      ],
      "author": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Mon Apr 24 14:46:23 2017 -0700"
      },
      "committer": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Tue Apr 25 19:40:58 2017 +0000"
      },
      "message": "Font provider cleaning ups.\n\n- Remove Columns.STYLE\n- Decouple Context from Typeface.\n- Make FontsContract constructor private since it is essentially static.\n- Removed unused constants.\n\nBug: 37281200\nBug: 37268410\nTest: am instrument -w -e class android.provider.FontsContractE2ETest\n      com.android.frameworks.coretests/\\\n      android.support.test.runner.AndroidJUnitRunner\nTest: am instrument -w -e class android.provider.FontsContractTest\n      com.android.frameworks.coretests/\\\n      android.support.test.runner.AndroidJUnitRunner\nTest: am instrument -w -e class android.graphics.cts.TypefaceTest\n      android.graphics.cts/android.support.test.runner.AndroidJUnitRunner\nChange-Id: Ic46c256141d27ca28f30023bcc40f4e1161d5338\n"
    },
    {
      "commit": "a79c37170e818f57e1bac843998fd0ae30eba71a",
      "tree": "deae48984bd6df1bc8d41b05a09369a28ceddf07",
      "parents": [
        "a31f49a0df23ffbb27f018900a181693e6c32d9e"
      ],
      "author": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Fri Apr 21 10:29:57 2017 -0400"
      },
      "committer": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Tue Apr 25 13:41:37 2017 -0400"
      },
      "message": "Allow some notifications in a group to be muted\n\nTest: cts, runtest systemui-notification\nChange-Id: I98b971c496c52f69e039a3a3101f71ac567b538a\n"
    },
    {
      "commit": "649040c7f6ad7c00949687e7656732adc2f22786",
      "tree": "af616d88f03f9761e3f870f04d1a23612741a929",
      "parents": [
        "0fa2574ecb2dbc2258065d4803afc35c2474c346",
        "fd5d331efb64b1221053ea59f0d4491d5a6bcb49"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Apr 21 19:28:24 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 21 19:28:32 2017 +0000"
      },
      "message": "Merge \"Update HardwareBuffer API.\" into oc-dev"
    },
    {
      "commit": "fd5d331efb64b1221053ea59f0d4491d5a6bcb49",
      "tree": "06333512f3d359d2361d7ae5be52ded963c4c9d8",
      "parents": [
        "1e28c8fa337388060dc7f69a835852cab324724d"
      ],
      "author": {
        "name": "Craig Donner",
        "email": "cdonner@google.com",
        "time": "Wed Apr 19 18:33:36 2017 -0700"
      },
      "committer": {
        "name": "Craig Donner",
        "email": "cdonner@google.com",
        "time": "Thu Apr 20 15:47:49 2017 -0700"
      },
      "message": "Update HardwareBuffer API.\n\nBug: 37514517\nTest: cts-tradefed run cts -t CtsHardwareTestCases -t android.hardware.cts.HardwareBufferTest\nChange-Id: I5e381964b780472081ef9a65c3c37f63dbaf1e51\n"
    },
    {
      "commit": "fb4fb03cc3aa273c763df97f99eae1ba11594997",
      "tree": "19797f683f6b32bd15d9ed539f317786075f3fcb",
      "parents": [
        "08ca0a5a9eab09686cff1ee3ba516ab9b06074a3",
        "345ffa5421f4158b9c30439b9f18aed7b61aaea9"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Apr 20 03:53:33 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 20 03:53:37 2017 +0000"
      },
      "message": "Merge \"Address API council comments\" into oc-dev"
    },
    {
      "commit": "57ed0ba69d7f36493fc45cac66764bfeb10c6998",
      "tree": "d6a8f2a8c2ab7539327fabe36f85cf645f373fcf",
      "parents": [
        "15b48ff4de81c60263db6f70b226a4dfe3607b05",
        "0cb43ef67b5d284f6c0afbca5a50e189355c0ab3"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Wed Apr 19 02:44:11 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 19 02:44:18 2017 +0000"
      },
      "message": "Merge \"Address API council comments\" into oc-dev"
    },
    {
      "commit": "345ffa5421f4158b9c30439b9f18aed7b61aaea9",
      "tree": "053479224bf8b05edae510a2f53f8d3f091384cd",
      "parents": [
        "0cb43ef67b5d284f6c0afbca5a50e189355c0ab3"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Tue Apr 18 16:08:41 2017 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Tue Apr 18 16:44:43 2017 -0700"
      },
      "message": "Address API council comments\n\nTest: cookie CTS tests pass\n\nbug:37327624\nbug:37325276\nbug:37323696\n\nChange-Id: I52b10470759e471629ec6772e115df94482eb341\n"
    },
    {
      "commit": "0cb43ef67b5d284f6c0afbca5a50e189355c0ab3",
      "tree": "5445533866ff062acbeb2dec6a6c90719c347863",
      "parents": [
        "3b41407f1908cea425b753003b31a16b49bad822"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Tue Apr 18 14:28:35 2017 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Tue Apr 18 16:44:28 2017 -0700"
      },
      "message": "Address API council comments\n\nTest: all static shared lib CTS tests pass\n\nbug:37327970\n\nChange-Id: Ie8c4d853da5fa0a6125b9def38831860f79ce53d\n"
    },
    {
      "commit": "b87243cb43753c6f90d54afd3bc0839882742942",
      "tree": "023fa35a24e05f9b91ba284d55c20fc2443c0fb3",
      "parents": [
        "a86e3d70e336dede717f4d06cea35d6b3ebcf4d4"
      ],
      "author": {
        "name": "Yu Liu",
        "email": "yudiliu@google.com",
        "time": "Tue Apr 18 16:08:29 2017 -0700"
      },
      "committer": {
        "name": "Yu Liu",
        "email": "yudiliu@google.com",
        "time": "Tue Apr 18 16:12:16 2017 -0700"
      },
      "message": "Remove newly added remove methods in Location and deprecate the old ones, this is the request from the android API council\nTest: Existing unit tests still pass.\nBUG: 36552859\n\nChange-Id: Ib4cdcef90be3d5b3be329dd780bcb40275b89ef4\n"
    },
    {
      "commit": "200d72d933920632647ebf8862f3582e7ead3785",
      "tree": "b63a0f1968aaf0062d2dc902454608a204bd0c82",
      "parents": [
        "e7b581bca98569c81b0c56b09f7dadbabb7e0245",
        "789a8fc792725e4988ff43d554b3c8c037c41921"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@google.com",
        "time": "Mon Apr 17 22:26:35 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 17 22:26:44 2017 +0000"
      },
      "message": "Merge \"Storage API polishing.\" into oc-dev"
    },
    {
      "commit": "789a8fc792725e4988ff43d554b3c8c037c41921",
      "tree": "59122e26916919a481071b7348d5328e62d7d70c",
      "parents": [
        "d8837b6fca23847fcd4dd295ccbb33ef9d4edcec"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Sun Apr 16 13:18:35 2017 -0600"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Apr 17 12:19:50 2017 -0600"
      },
      "message": "Storage API polishing.\n\nBased on API council feedback, switch to using real UUID objects\ninstead of Strings.  Since UUID is a general-purpose utility class\nthat will be passed around quite a bit, add it to Parcel and Bundle.\n\nDefine well-known namespaced UUID values for \"default\" and \"primary\nphysical\" storage devices, which will let us annotate a bunch of\nthings with @NonNull.\n\nDefine new extras for MANAGE_STORAGE intent that apps can use to\nsignal where and how much space they\u0027d like the user to free up.\n\nTest: cts-tradefed run commandAndExit cts-dev -m CtsAppSecurityHostTestCases -t android.appsecurity.cts.StorageHostTest\nBug: 37325923, 35812899, 35806020\nChange-Id: I8421b126d680f69141a361c1e77223fe2bf4a325\n"
    },
    {
      "commit": "ad1e9c982525fa496ae85af7fe462f68ea826feb",
      "tree": "544b6b6435aa8e97a07efa9a4c3927f9fe75d2e3",
      "parents": [
        "00314d97e9fc9cd7213729794961ea60ad0db723"
      ],
      "author": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Fri Apr 14 10:55:00 2017 -0400"
      },
      "committer": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Fri Apr 14 12:59:47 2017 -0400"
      },
      "message": "Remove @removed method\n\nChange-Id: I0b92edcc0440674003694ace9b53cad6124948dc\nFixes: 37340967\nTest: make\n"
    },
    {
      "commit": "3c8c6a4cc91ad2aed52e0d331ecb8abc287a4a11",
      "tree": "d0347efaf258b9c71e61fba2c76d300d123fadf6",
      "parents": [
        "d09be1c0e961fbcf27cb25d5d0070912a9fadd2e"
      ],
      "author": {
        "name": "Peng Xu",
        "email": "pengxu@google.com",
        "time": "Thu Apr 06 18:37:56 2017 -0700"
      },
      "committer": {
        "name": "Peng Xu",
        "email": "pengxu@google.com",
        "time": "Thu Apr 13 14:17:11 2017 -0700"
      },
      "message": "Address review suggestions for sensor direct report related APIs\n\nChanges inline with bug number\n\nSome improvements about SensorDirectChannel class.\n  * Complete the doc about creation of SensorDirectChannel object.\n  * Make SensorDirectChannel implements java.nio.channels.Channel.\n  * Change isValid() to isOpen().\n  * Make close() thread safe.\nBug: 36550285\n\n  * Throw exception on failure of SensorManager.createDirectChannel.\n  * Change to use NullPointerException when unexpected null pointer\n    is passed in.\nBug: 36555061\n\n  * Move SensorManager.configureDirectChannel() to\n    SensorDirectChannel.configure().\n  * Format SensorDirectChannel.configure() function doc with\n    \u003cpre\u003e\u003c/pre\u003e to maintain the table structure.\n  * Reworded Sensor.isDirectChannelTypeSupported java doc.\nBug: 36555604\n\nTest: pass updated cts SensorDirectReportTest\nChange-Id: I447121eaf414cbc94292a109a9d93d2e3c89f8f4\n"
    },
    {
      "commit": "fe04aa840e0682e9813e1ac4958772f898eb02ca",
      "tree": "abd6da7e100e79b0954123d47e93a904133d9019",
      "parents": [
        "2ac969827115c1b8bc86d9017eb1c7c1d5421b10"
      ],
      "author": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Sat Apr 01 16:28:11 2017 -0700"
      },
      "committer": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Tue Apr 04 10:12:55 2017 -0700"
      },
      "message": "Pass weight/italic pair instead of style.\n\nTypeface.NORMAL/BOLD/ITALIC/ITALIC_BOLD is used for specifying relative\nfrom current Typeface. For example\n\n  Typeface face \u003d Typeface.create(\"serif\");\n  Typeface thickerFace \u003d Typeface.create(face, Typeface.BOLD);\n  Typeface moreThickerFace \u003d Typeface.create(tickerFace, Typface.BOLD);\n\nFor the purpose of providing font information, we should use weight/italic\nvalue instead of style in Typeface.\nThe Columns.STYLE field was kept for preventing runtime crash of demo\napps.\n\nTest: Manually\nChange-Id: I732e8ee04a66f61321fc0a98dbfb8fdc0a4dd7a4\n"
    },
    {
      "commit": "f6d9507a0018357c65b1959af4863adaaf86de28",
      "tree": "0896dd6cb865f6a0963c6b1d2814d9aa24ca1f16",
      "parents": [
        "70c429d37a097d4cdbbb1e744a35359b21f9bffb",
        "ce1d0e94593eed9f838ff2a01e45aca5576ea7fe"
      ],
      "author": {
        "name": "Garfield Tan",
        "email": "xutan@google.com",
        "time": "Fri Mar 31 18:04:49 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 31 18:04:54 2017 +0000"
      },
      "message": "Merge \"Add flags for quick viewer to indicate capabilities of a document.\" into oc-dev"
    },
    {
      "commit": "ce1d0e94593eed9f838ff2a01e45aca5576ea7fe",
      "tree": "fc06726c7eb134baf691054f1ca1835208a81225",
      "parents": [
        "2ce80c839e852927607c2fe6de5a32a7ca3f38ae"
      ],
      "author": {
        "name": "Garfield Tan",
        "email": "xutan@google.com",
        "time": "Thu Mar 23 10:52:48 2017 -0700"
      },
      "committer": {
        "name": "Garfield Tan",
        "email": "xutan@google.com",
        "time": "Thu Mar 30 17:50:53 2017 -0700"
      },
      "message": "Add flags for quick viewer to indicate capabilities of a document.\n\nReplace the QUICK_VIEW_ADVANCED extra.\n\nAlso restrict quick viewers not to send file content out of the device.\n\nTest: It builds.\nBug: 36484539\nBug: 36755024\nChange-Id: I921230eac6e497a615624202c741ef03432b2690\n"
    },
    {
      "commit": "f830652e978ce3eb85528bca81bbdfff2c09cd4a",
      "tree": "f1d6bee63aafc71792a62e039dddd7e735af63af",
      "parents": [
        "84eecd253224ab5db12aa2640240054a6bda4982"
      ],
      "author": {
        "name": "Aaron Whyte",
        "email": "awhyte@google.com",
        "time": "Wed Mar 22 16:30:58 2017 -0700"
      },
      "committer": {
        "name": "Aaron Whyte",
        "email": "awhyte@google.com",
        "time": "Wed Mar 29 23:34:56 2017 +0000"
      },
      "message": "Split scroll factor into a 2d float.\n\nTest: Existing unit tests, manual sanity check.\nBUG\u003d35764483\n\nChange-Id: If6ac121452698747e1f8bc9d4ec0111bb881d4d4\n(cherry picked from commit e9956c5c65ecd3aaf7390c10d135749e5adfb344)\n"
    },
    {
      "commit": "2858ad3a4b9d6c0a715ce1506eaec257b5d7cebd",
      "tree": "32ead8ef128d60906d0a2bcbf024cc3412f5180c",
      "parents": [
        "06ed84f7b3ba101d75dab3ca89c9cc94b545221f",
        "9841ea07c044e5f28f387198a233adbd9ba19ce2"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Mar 27 14:51:08 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 27 14:51:13 2017 +0000"
      },
      "message": "Merge \"TextClassifier cleanup.\""
    },
    {
      "commit": "f3d8d3bd5854d8f99ebc4e9ec93e72e65ba09853",
      "tree": "93efdc1b653377703b9e93a383c0b070b8107f65",
      "parents": [
        "d45040ffc77e6920110d40ba4d7a8b078d31380e",
        "b5a35b8181fc1fc0d854b69e42d277b89d87ad53"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Mar 23 06:04:44 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 23 06:04:55 2017 +0000"
      },
      "message": "Merge \"Refactor cache behavior from \"atmoic\" to \"group\".\""
    },
    {
      "commit": "b5a35b8181fc1fc0d854b69e42d277b89d87ad53",
      "tree": "04569308e86b66cd0d118ac35c663953c60262b2",
      "parents": [
        "20f0d091f72df85fa764b4d04f75e9d3bf42d537"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Mar 22 21:30:19 2017 -0600"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Mar 22 21:33:53 2017 -0600"
      },
      "message": "Refactor cache behavior from \"atmoic\" to \"group\".\n\nUsing the word \"atomic\" has too much baggage relating to locking\nguarantees, so move to something softer.\n\nAdd isQuotaSupported() for CTS tests.\n\nMove CacheQuotaStrategy over to using SparseLongArray, which has a\nmore efficient memory footprint inside the system server.\n\nTest: cts-tradefed run commandAndExit cts-dev -m CtsAppSecurityHostTestCases -t android.appsecurity.cts.StorageHostTest\nBug: 35812899, 35684969, 36482620\nChange-Id: I894f53e6f3bc76c77d1bb18c51db14833df14a49\n"
    },
    {
      "commit": "e071abda7825ef1049ed94691fac5ca853b47f09",
      "tree": "472f4244eae06f7ad7580d4886b9cf2e76e8cd01",
      "parents": [
        "dddc8fd1940ddba82c2d153d537b94ca4814dc5c"
      ],
      "author": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Wed Mar 22 10:52:11 2017 -0400"
      },
      "committer": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Wed Mar 22 20:15:20 2017 +0000"
      },
      "message": "Notification cleanup\n\n- remove EXTRA_ORIGINATING_USER_ID\n- deprecate two icon extra fields; use the getters instead\n- rename badge icon methods\n- update some unclear documentation\n\nTest: make, cts\nFixes: 33666468\nFixes: 36128288\nChange-Id: Ic477259aab5f267fb72ab715d72195d6364cedae\n"
    },
    {
      "commit": "9841ea07c044e5f28f387198a233adbd9ba19ce2",
      "tree": "30972e2876094c3853987f2acb8edd4077cfb4ad",
      "parents": [
        "d9263306d56bf4c5c9c2e3a62bd44f82dacc0863"
      ],
      "author": {
        "name": "Abodunrinwa Toki",
        "email": "toki@google.com",
        "time": "Wed Mar 22 20:11:35 2017 +0000"
      },
      "committer": {
        "name": "Abodunrinwa Toki",
        "email": "toki@google.com",
        "time": "Wed Mar 22 20:13:21 2017 +0000"
      },
      "message": "TextClassifier cleanup.\n\n- Remove \"removed\" methods.\n- Temporarily log more information about the classification result.\n\nTest: Successfully builds. Manually inspected logs.\nChange-Id: I81312ac9992c08ce6137610bd16b339777f8f1fc\n"
    },
    {
      "commit": "780861f2452b519c128289dac836e5a756100e1d",
      "tree": "a5d91ddad54c2bc807bc8dc535fb14b23b1f3611",
      "parents": [
        "3e09b3c3fe4e74fcc0570c5065e9444604944eb0"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Mar 20 14:38:04 2017 -0600"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Mar 20 14:38:17 2017 -0600"
      },
      "message": "More RecoverableSecurityException docs.\n\nMention convenience methods in class docs, and require a valid\nNotificationChannel to be provided to match O best-practices.\n\nAlso mention that notifyChange() should be triggered when the action\nis finished.\n\nTest: builds, boots\nBug: 34676491\nChange-Id: I0e6c6d43a93cbce1a5de02621290cc2ff9423274\n"
    },
    {
      "commit": "4cfda0beefc7f21f1818c689ca54dd11480c68f2",
      "tree": "41387d091851454cf3e7fccf5abfe06f811afcc2",
      "parents": [
        "a33ae2d884bcaa0474c84909d641d23a722a0c7b"
      ],
      "author": {
        "name": "Abodunrinwa Toki",
        "email": "toki@google.com",
        "time": "Tue Feb 28 18:56:47 2017 +0000"
      },
      "committer": {
        "name": "Abodunrinwa Toki",
        "email": "toki@google.com",
        "time": "Tue Mar 07 14:25:21 2017 +0000"
      },
      "message": "TextClassifier: Introduce LocaleList in the API.\n\nTest: API change. Ensured that tests (see topic) compiles\nBug: 35257733\nChange-Id: I036af7948fcd691b8a7de586a9cc1b3165946f8a\n"
    },
    {
      "commit": "4190575960f524696da89574e6825f91e0925ead",
      "tree": "9b5ac5bebe3b3d49f8e193556085f4e857a653db",
      "parents": [
        "adcab8234a51e52a77901bb8e54ded451a070b16",
        "dd9bda81f698043a0110d4e2178d20cb160ba829"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@google.com",
        "time": "Mon Feb 27 01:45:40 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 27 01:45:44 2017 +0000"
      },
      "message": "Merge \"Delete @removed APIs that never shipped.\""
    },
    {
      "commit": "dd9bda81f698043a0110d4e2178d20cb160ba829",
      "tree": "08023a1119ade32d8ce46132579d4e825a9dfabb",
      "parents": [
        "f73da9c7edd5f5d35d7fb8a4d33015706be4958a"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Feb 23 17:38:31 2017 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Feb 24 13:41:20 2017 -0700"
      },
      "message": "Delete @removed APIs that never shipped.\n\nThese were never part of any public API level, so apps should never\nhave been using them.\n\nTest: builds, boots\nBug: 31241513\nChange-Id: I4fc8f5c325da56694a5db98acc995a22d4947805\n"
    },
    {
      "commit": "bb4988ad7dfcdada41c04328f2e1ccdeaab529e8",
      "tree": "b8ee58a03925dcb2fe245a9a879919cdd016584b",
      "parents": [
        "830d4b422db2f2ae4af17403ccd1d34fd6f0bd6f"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Feb 23 17:31:39 2017 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Feb 24 09:02:53 2017 -0700"
      },
      "message": "Improve service docs around user unlocking.\n\nAlso delete some @removed methods that never shipped to reduce\nconfusion.\n\nTest: builds, boots\nBug: 30434803\nChange-Id: I18773182f62f0f62bd4e36c9c3098372483a374f\n"
    },
    {
      "commit": "d5d5e926eb8ff2541a845d6a5657cee5e5c6e7b6",
      "tree": "c0759391680cb107467f8a7626919c35c6727425",
      "parents": [
        "14fd9cebe9903a0199e724bd32977f50ca6d6a6f"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Feb 21 10:51:23 2017 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Feb 21 11:50:55 2017 -0700"
      },
      "message": "Clear cache space when allocating bytes.\n\nFleshes out remainder of allocation implementation, where we offer\nto clear cached data to satisfy the allocation request.  To prevent\nabuse, we never let apps allocate into either the minimum cache space\nor low storage space.\n\nClean up quota APIs to require the caller to pass in the path they\u0027re\ninterested in, and we resolve the underlying filesystem for them.\n\nDefines settings that can be used to tweak the minimum cache space.\n\nTest: builds, boots\nBug: 34690590\nChange-Id: I85bc07399f91ee4aa568a8a54c615646bf748ad4\n"
    },
    {
      "commit": "5bd80142655cae356c6e30b5f06c7becc66bf231",
      "tree": "0bd66b10e9caeef87d1ecdcbb5eff11c652d15a5",
      "parents": [
        "e89ba5222c0fb84da85adabcb0d98e3a60180a04",
        "2187df75157f3ec8a671ec4900e21bc46af80b4b"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Wed Jan 11 03:52:19 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 11 03:52:21 2017 +0000"
      },
      "message": "Merge \"Remove requestRouteToHost and {start,stop}UsingNetworkFeature.\""
    },
    {
      "commit": "2187df75157f3ec8a671ec4900e21bc46af80b4b",
      "tree": "2467afb215bf9f32188dc9338b19b24a7fb22e72",
      "parents": [
        "3c0baf008295ce36dff997967c51f86aabf3d234"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Fri Dec 09 18:39:30 2016 +0900"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Thu Jan 05 17:39:21 2017 +0900"
      },
      "message": "Remove requestRouteToHost and {start,stop}UsingNetworkFeature.\n\nThese APIs have been deprecated since L, and since M have thrown\nIllegalArgumentException for apps targeting M or newer.\n\nTest: API check passes.\nBug: 33607472\nChange-Id: Ie582cac3872be21c51e1e37d16d7cfac496ed3e4\n"
    },
    {
      "commit": "b29b16e5423fe7deab8ebf3da512c6d2192f19b5",
      "tree": "6e0c9b68f6cf30fddb28f358e373c2cefa3d37a8",
      "parents": [
        "e5fb79bb2def5a17d158193c2e668224dc5ad5c1"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Wed Jan 04 14:57:43 2017 -0500"
      },
      "committer": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Wed Jan 04 14:57:43 2017 -0500"
      },
      "message": "Remove clipRegion from the public API.\n\nThis API is difficult to support for printing and has other negative\neffects as it does not respect the current matrix/clip.\n\nTest: compile\nBug: 14650725\nChange-Id: I71f9bd687d446c7ce8910d755421aad8e09458db\n"
    },
    {
      "commit": "a2bbfbcf8920ecec5700c1824b0436118cada5be",
      "tree": "d1634fd6ff7935ded8eb5b7dc46d5c818114ebbb",
      "parents": [
        "5721e75a0a2b18a0a6b139360afaf5247b93827d"
      ],
      "author": {
        "name": "Wyatt Riley",
        "email": "wyattriley@google.com",
        "time": "Mon Dec 19 18:53:09 2016 -0800"
      },
      "committer": {
        "name": "Wyatt Riley",
        "email": "wyattriley@google.com",
        "time": "Fri Dec 23 13:18:16 2016 -0800"
      },
      "message": "Removing @removed methods and constants\n\nSeveral methods, plus a few hashmaps,\nhelper classes, and some constants\nexisted for an early builds\nof NYC, and were marked @removed, and are\nhere finally removed.\n\nBug: 28208055\nChange-Id: If650d83c0dc573e922342d09360ecf9a5bb0c98a\nFixes: 28208055\nTest: GMaps, AndroiTS GPS Test, GnssLogger \u0026 CtsVerifier\n      All run fine on a Pixel\n"
    },
    {
      "commit": "dcc3630100b406e4e6cb18f00d39059690153292",
      "tree": "8eb7d4abc10297dfeac7d568a0585d574758b60b",
      "parents": [
        "00f9a1a4735f8ba6b40cee5294a034bd60b28df4"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Fri Dec 09 15:10:39 2016 -0500"
      },
      "committer": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Mon Dec 12 10:53:58 2016 -0500"
      },
      "message": "Remove Rasterizer and its subclasses from the public API.\n\nTest: compile\nBug: 14650725\nChange-Id: I99e1942d4d1b85f4efdcb3faf3fee1aa6c839b7e\n"
    },
    {
      "commit": "5e86d951a798cae4da6acafdd4af7be7ff2c1b38",
      "tree": "ab219c63ebcdaaf10e0f93ad316af5ecdaafcecb",
      "parents": [
        "3ac0a0255d7dd198b2e0afd539250fa4262b266f"
      ],
      "author": {
        "name": "Alex Klyubin",
        "email": "klyubin@google.com",
        "time": "Wed Sep 21 14:17:26 2016 -0700"
      },
      "committer": {
        "name": "Alex Klyubin",
        "email": "klyubin@google.com",
        "time": "Tue Sep 27 11:24:32 2016 -0700"
      },
      "message": "Remove android.net.PskKeyManager\n\nandroid.net.PskKeyManager does not work with upcoming TLS 1.3.\nThe class does not appear to be used by any Android apps and is thus\nlikely to be completely removed in the future.\n\nBug: 30978706\nTest: make \u0026\u0026 make cts\nChange-Id: Id9bae20362c5909e4621cdb00102bfee09d970ec\n"
    },
    {
      "commit": "77df6f315d6fbb22622ca46ae5735a5c73cc367d",
      "tree": "fb19ba39cda151b3b2d9b2426ee324bb4d728d66",
      "parents": [
        "7791cc9b4f8e539f5aed923fef544087ec4c4d0d"
      ],
      "author": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Wed Aug 17 11:46:34 2016 -0700"
      },
      "committer": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Wed Aug 17 14:52:26 2016 -0700"
      },
      "message": "Remove permission review build property - framework\n\nChange-Id: Ifcfd436f2d57a6006ef804292d2875434e4669da\n"
    },
    {
      "commit": "7317f30939e13b15856e01cf5bfe9de40b03cc0e",
      "tree": "fe48c40a590d513726946e735b46209e6096df82",
      "parents": [
        "ef556916aa75ae5e992b7c92345dc1011899a660"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Jul 26 16:10:26 2016 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Jul 27 15:19:24 2016 -0700"
      },
      "message": "Remove private package from removed.txt\n\nChange-Id: I71e764e5e34b7bd671e208fa20dec06956df59b0\n"
    },
    {
      "commit": "a0d2e12fe04057c9cc68f432ec81ca07eb3292f4",
      "tree": "9575a3b989669e60914a9d1ff5dd187b251dd42b",
      "parents": [
        "a098b374d0a9a2a51fa60c7864174a89d050eefb",
        "0c26c324030d4ee2998212aff57ce65c3c303860"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Jun 03 15:00:10 2016 -0600"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Jun 03 15:00:10 2016 -0600"
      },
      "message": "resolve merge conflicts of 0c26c32 to master\n\nChange-Id: I2398a72d7a3575743e5948bc16b1b8582ccf106b\n"
    },
    {
      "commit": "c38a20337658845b22e9faaaaf3b30f4884b081c",
      "tree": "d59e3d2bc41b94b0414e4af08d31943553d58026",
      "parents": [
        "9ed5eefc28f8193840b3186c612352930f7dad52"
      ],
      "author": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Thu May 26 17:36:02 2016 +0100"
      },
      "committer": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Thu May 26 17:38:11 2016 +0100"
      },
      "message": "Revert \"Revert \"Finalize resource IDs for N.\"\"\n\nThis reverts commit a5c9ca4f07418b80ac99a3d23df012d77faa2bc4.\n\nBug: 28810934\nChange-Id: I31816ab5470b84f85c8416312b5ac39884b8cc9a\n"
    },
    {
      "commit": "9ed5eefc28f8193840b3186c612352930f7dad52",
      "tree": "5c7a0a00c74496ce3ae641e1ca0299940e0050dd",
      "parents": [
        "7c8e76f87de28acc19935083a0f502df83c4a023"
      ],
      "author": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Thu May 26 17:35:50 2016 +0100"
      },
      "committer": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Thu May 26 17:38:06 2016 +0100"
      },
      "message": "Revert \"Finalize resource IDs for N.\"\n\nThis reverts commit 7c8e76f87de28acc19935083a0f502df83c4a023.\n\nBug: 28810934\nChange-Id: I3a61bb0c2364909480045dd40adba6445d6afabd\n"
    },
    {
      "commit": "7c8e76f87de28acc19935083a0f502df83c4a023",
      "tree": "d59e3d2bc41b94b0414e4af08d31943553d58026",
      "parents": [
        "4c04097fdbe0fe414a6fcb2d6174e295986a3f66"
      ],
      "author": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Thu May 19 23:58:12 2016 +0100"
      },
      "committer": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Thu May 26 17:35:28 2016 +0100"
      },
      "message": "Finalize resource IDs for N.\n\nBug: 28810934\nChange-Id: If68bfb46cc5fa2d5ea0ee613689198e1ea42dce7\n"
    },
    {
      "commit": "86c1a9bf6081d23c82f05f7293aded3266f61368",
      "tree": "67a02eeb4b3558d5b47bd3313fec4003efa74fe9",
      "parents": [
        "7f0dae94914fdfa2922505375c0e9459043c3738"
      ],
      "author": {
        "name": "Daichi Hirono",
        "email": "hirono@google.com",
        "time": "Thu May 26 14:07:24 2016 +0900"
      },
      "committer": {
        "name": "Daichi Hirono",
        "email": "hirono@google.com",
        "time": "Thu May 26 16:39:21 2016 +0900"
      },
      "message": "Remove MTP API marked as @removed.\n\nBUG\u003d28146379\n\nChange-Id: I4f0a380941663eac423f8a5633447f1eceb516cb\n"
    },
    {
      "commit": "904237f83940676433104952d165d3b28d961044",
      "tree": "7c6c7702a9766755c26bb300b8f780bff7a11356",
      "parents": [
        "cfbca5640ca435e1b501254c9cf8b66746799d7e"
      ],
      "author": {
        "name": "Antonio Cansado",
        "email": "acansado@google.com",
        "time": "Wed May 25 09:57:21 2016 -0700"
      },
      "committer": {
        "name": "Antonio Cansado",
        "email": "acansado@google.com",
        "time": "Wed May 25 11:07:41 2016 -0700"
      },
      "message": "Cleaning up NetworkStatsManager.\n\n- Throwing SecurityExceptionand and IllegalArgumentException instead of null for new APIs\n- removing @removed APIs\n\nBug:27530098,27379882\nChange-Id: Ifbe65bfc5051aa33aff2baa22cfa8e67b0f7c358\n"
    },
    {
      "commit": "602dc777c5acd7ae761f4b8047440259d59e5dfa",
      "tree": "d833c95a5dd839817dfc2b02da770ee297988bb1",
      "parents": [
        "7932d676071e36b88a4105515cfb81c255398dd8"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue May 24 11:51:12 2016 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue May 24 12:11:59 2016 -0700"
      },
      "message": "Remove deprecated AudioManager.AudioRecordingCallback method\n\nRemove AudioRecordingCallback.onRecordingConfigChanged(\n         AudioRecordingConfiguration[] configs)\n\nBug 28819230\n\nChange-Id: I3b85bb9313267499ac407099939b5889bdba996b\n"
    },
    {
      "commit": "f04fab160a044e4e7d936c0457a156d7911f924c",
      "tree": "8974c54f9fbf653a4c6c235b24691cf4308a49f4",
      "parents": [
        "a3ec065a43069a19dc42f023a40d54a3178f1b44"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu May 19 10:42:35 2016 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon May 23 09:44:58 2016 -0700"
      },
      "message": "Recording activity notification: return list of configuration\n\nUse a list of configurations instead of an array\n\nBug 28819230\n\nChange-Id: Ia4a3cdabf8337cfb98abe4d0055d497bcab8a5ee\n"
    },
    {
      "commit": "f66a83db41711ebd1187bf9e99d0b21e428075f5",
      "tree": "27439c5018935e2d34edd626f3aeb1170de6c835",
      "parents": [
        "7996b96311eec2343c16d3677fb834d2ec7cf082"
      ],
      "author": {
        "name": "Andrii Kulian",
        "email": "akulian@google.com",
        "time": "Tue May 17 12:17:44 2016 -0700"
      },
      "committer": {
        "name": "Andrii Kulian",
        "email": "akulian@google.com",
        "time": "Tue May 17 13:00:53 2016 -0700"
      },
      "message": "Rename minWidth/Height attributes\n\nRename WindowLayout#minimalWidth and #minimalHeight to #minWidth\nand #minHeight to be consistent with other APIs.\n\nBug: 28775586\nChange-Id: Ib7dc26318c4391693ef23f908b4d6090138dd0d7\n"
    },
    {
      "commit": "a1e4cbe2116bef9fad7c98836926317bde95d33e",
      "tree": "4b260ed2dc9bca89ea7a5b4952a753f28df93914",
      "parents": [
        "d34396443e712a96572d26c820809a9485e57da3",
        "1ad3955a6008f5f442fa5eb0adf7c4e6ba2f17cd"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon May 16 15:18:18 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon May 16 15:18:20 2016 +0000"
      },
      "message": "Merge \"Remove onUhandledInputEvent API.\" into nyc-dev"
    },
    {
      "commit": "752129929fcbe8d7740d25014f7878e835d4f4ef",
      "tree": "1216383387820894982e12083ccd94e88c5f007c",
      "parents": [
        "8a68194477cf938c55bbf7e36509c689d6a54b32",
        "e0cbda454cdf0c78f08be1c5cfec4d02bbb55867"
      ],
      "author": {
        "name": "Tingting Wang",
        "email": "tingtingw@google.com",
        "time": "Thu May 12 17:11:42 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 12 17:11:44 2016 +0000"
      },
      "message": "Merge \"Rename CONTACT_METADATA_SYNC GService Flag.\" into nyc-dev"
    },
    {
      "commit": "e0cbda454cdf0c78f08be1c5cfec4d02bbb55867",
      "tree": "8bfe8259350fd208ccfa75bad84852f4aeafb04e",
      "parents": [
        "de66540fd3f73937c3cfbe1d50e575aa69acc474"
      ],
      "author": {
        "name": "Tingting Wang",
        "email": "tingtingw@google.com",
        "time": "Tue May 10 15:39:37 2016 -0700"
      },
      "committer": {
        "name": "Tingting Wang",
        "email": "tingtingw@google.com",
        "time": "Tue May 10 17:29:00 2016 -0700"
      },
      "message": "Rename CONTACT_METADATA_SYNC GService Flag.\n\nRename it to CONTACT_METADATA_SYNC_ENABLED.\n\nBUG 28295805\n\nChange-Id: Ib1f735b082a2ff6cca93e377b3eaaaf7cd396b8d\n"
    },
    {
      "commit": "6965c1869aa8499706522d057b5143bbc240178b",
      "tree": "d255a4bad4bd7a4f5033bb93ba7e6f54f706e706",
      "parents": [
        "cdaaaaad905396e4f0f2ebd9b37240095182d1d7"
      ],
      "author": {
        "name": "Antonio Cansado",
        "email": "acansado@google.com",
        "time": "Wed Mar 30 11:37:18 2016 -0700"
      },
      "committer": {
        "name": "Antonio Cansado",
        "email": "acansado@google.com",
        "time": "Tue May 10 13:24:16 2016 -0700"
      },
      "message": "Addressing API council comments on NetworkStatsManager.\n\nCallbacks\n - DataUsageCallback renamed to UsageCallback\n - DataUsagePolicy removed; passing in params directly to register method\n - making it an abstract class\n - passing in (networkType, subscriberId) that reached its threshold\n - renaming onLimitReached to onThresholdReached to match existing naming\n - only monitor single network,subscriberId\n - no monitoring of specific uids; using device or user wide instead\n\nTags\n - only owner uid can read its tags\n - exposing only TAG_NONE to match service side\n\nBUG: 27530098\n\nChange-Id: I2b2664da71806868a1e937d2bf4d1f234637509b\n"
    },
    {
      "commit": "a895559a41930b6665d8e3056b463633f3096fbc",
      "tree": "9507f8e12f72fceed0d6a90058d40911bd34c88c",
      "parents": [
        "65e654a1a18ae547e1728a355f25d99c796f0abd"
      ],
      "author": {
        "name": "Amit Mahajan",
        "email": "amitmahajan@google.com",
        "time": "Mon May 02 14:45:46 2016 -0700"
      },
      "committer": {
        "name": "Amit Mahajan",
        "email": "amitmahajan@google.com",
        "time": "Mon May 02 14:45:46 2016 -0700"
      },
      "message": "Marking @SystemApi permissions @hide too.\n\nBug: 28287631\nChange-Id: Ie0375620689263ebafd6850f2261e090f09521b1\n"
    },
    {
      "commit": "1ad3955a6008f5f442fa5eb0adf7c4e6ba2f17cd",
      "tree": "f0cc3c94ba862d9689c1c982275b640003bcb21f",
      "parents": [
        "8891ae1f7f69a1d1b203477bea01674c98af1141"
      ],
      "author": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Wed Apr 27 13:07:18 2016 -0400"
      },
      "committer": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Wed Apr 27 13:07:18 2016 -0400"
      },
      "message": "Remove onUhandledInputEvent API.\n\nThis callback was never used by WebView and anyone that overrides it\nis going to just be broken since we never actually call into it from\nthe method that WebView does call. Furthermore, the WebView team has\ndecided that the API has too many complications to ever implement,\nthe most notable of which is that MotionEvents tend to come in\nstreams that would need to be buffered in order to detect the event\nbefore it can be determined whether they were handled or not which\nmeans that any uses of the API are inevitably going to be janky\nexperiences.\n\nBug: 14279909\nChange-Id: I068601ce947bccacabfe55b86b06005449b65bcf\n"
    },
    {
      "commit": "399df701a16704b002475300a535683005d7af8b",
      "tree": "c6fa22c39b04b7d4a7d8137e2ca35659820504bc",
      "parents": [
        "e2be9f4a670198edbe9b1c42422d6d429b8a21f6"
      ],
      "author": {
        "name": "Daichi Hirono",
        "email": "hirono@google.com",
        "time": "Wed Apr 13 11:07:44 2016 +0900"
      },
      "committer": {
        "name": "Daichi Hirono",
        "email": "hirono@google.com",
        "time": "Mon Apr 18 13:03:29 2016 +0900"
      },
      "message": "Handle API review comments from the council.\n\n * MtpEvent: Remove public constructor since properties cannot be set\n   directly.\n * MtpEvent: Move event constants from MtpConstants to MtpEvent class.\n * getPartialObject64: the byte[] must have indices of Integer.MAX_VALUE\n   at most. Document as such.\n * sendObjectInfo: what happens if the transfer doesn’t succeed? How is\n   the app notified? If there is a reason for the failure communicated,\n   how does the app find this out? Add docs.\n * Add isOperationSupported(int) and isEventSupported(int) helpers.\n\nChange-Id: Ifd80016d2ddd3b66d5c45f6da76b6133f0c9a617\nFixes: 28146379\n"
    },
    {
      "commit": "e8abe8e5ad830bd130b258c6801d75f6542200b5",
      "tree": "762df770300d022ed1e5e90833cd392da1a52798",
      "parents": [
        "36712853a9d0b57702ee5b1fd936ff0b9f48c151"
      ],
      "author": {
        "name": "Lifu Tang",
        "email": "lifu@google.com",
        "time": "Fri Apr 01 10:32:05 2016 -0700"
      },
      "committer": {
        "name": "Lifu Tang",
        "email": "lifu@google.com",
        "time": "Wed Apr 06 17:54:35 2016 -0700"
      },
      "message": "Addressed API review comments and updated JavaDoc\n\nBug: 27274532\nBug: 27948390\nChange-Id: I0255d2511deab788dcab9815def9c1287a50b7f9\n"
    },
    {
      "commit": "0632d8ae71418bea092f9f2c7e62118213e7cc78",
      "tree": "b991deb7b5af038ffc80baf92f94e8da22a30715",
      "parents": [
        "ede7d958ab54a0701baa8ae8b494e8ea905c61c6"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Fri Mar 18 07:42:04 2016 -0700"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Wed Mar 30 13:25:45 2016 -0700"
      },
      "message": "TIF: Address comments on hardware manager related system APIs\n\nBug: 25726241\nChange-Id: I0a3e7e8cf494d897fc04528ba719faa4150b9207\n"
    },
    {
      "commit": "c02bfae73e139f2a1c56cc6b051bfc7877b8cf1d",
      "tree": "721b67f2313b76699aadb86e3509e9e5bfa4fc86",
      "parents": [
        "c9a40cd8448410316716e45ce051c9f1a3fc7054"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Sun Mar 27 15:06:53 2016 -0600"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Sun Mar 27 15:06:57 2016 -0600"
      },
      "message": "Include \"invisible\" volumes in new storage API.\n\nThe purpose of the new StorageVolume API is to grant access to\nvolumes that aren\u0027t typically \"visible\" to a developer, so include\nthem in the returned results.\n\nAlso return the real mounted state instead of augmenting based on\nthe caller\u0027s storage permissions.  Clean up API naming slightly and\nreturn as List.\n\nBug: 27615770\nChange-Id: Ida921a4b91e5af81e418e76f672d9108f45a9781\n"
    },
    {
      "commit": "cf3f0a11a83e7a798e0586a78efdafc82a7f3d08",
      "tree": "110042262b4bf24707d23caf82d4484acbed0146",
      "parents": [
        "62b5ec7651ebda7a90682012e00307225201bbd9"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Mar 17 19:57:58 2016 -0600"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Mar 17 19:58:05 2016 -0600"
      },
      "message": "Update direct boot related documentation.\n\nAlso hide a few APIs as requested by council.  Add a method to\neasily determine if a given File would already be encrypted at rest\nby the OS.\n\nBug: 27531029\nChange-Id: Icad5f1cd56411ad3ac707db85fd7449acdcc4b94\n"
    },
    {
      "commit": "8a372a0a280127743ce9a7ce4b6198c7a02d2a4f",
      "tree": "f2446f9d00e6dc0be78885db357719b9b3830e48",
      "parents": [
        "58ae278294017abca0dffc95f006ae646c88db89"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Mar 16 16:25:45 2016 -0600"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Mar 17 14:49:08 2016 -0600"
      },
      "message": "Refactoring FBE APIs based on council feedback.\n\nMostly consists of removing the word \"encryption\" from most APIs,\nsince we can\u0027t actually make promises about the data being encrypted.\n\nBug: 27531029\nChange-Id: Iace9d7c4e64716abf86ed11847c40f3947e1d625\n"
    },
    {
      "commit": "51e7805f14062df674f613fdaa830030aaaa4f8e",
      "tree": "1bb713ab589db59aa0f1cda47917059c155759d5",
      "parents": [
        "5781e61cb6a134cf897d8454a222687880ce639a"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Fri Mar 11 09:10:27 2016 -0500"
      },
      "committer": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Fri Mar 11 09:10:27 2016 -0500"
      },
      "message": "Remove all non-porterduff xfermodes from the public API\n\nbug: 14650725\nChange-Id: I3c935c32849be8762281eb3d1c86481be3fa139f\n"
    },
    {
      "commit": "08713d2a0eed1b2badb656f01a7aa123a7df5ad1",
      "tree": "d59f355ed76208b68b0e4f2aa573e4f09b93358e",
      "parents": [
        "943dedaf97eb0557cee4f639f2ffc050e2499ee2",
        "e12d810e99da093d3cf38f89c81e3e8d1e75b404"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Tue Mar 08 22:11:12 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 08 22:11:13 2016 +0000"
      },
      "message": "Merge \"TIF: Unhide TvView.setZOrderMediaOverlay/setZOrderOnTop/tune/unblockContent\" into nyc-dev"
    },
    {
      "commit": "e12d810e99da093d3cf38f89c81e3e8d1e75b404",
      "tree": "65622168e242a3df5b064515903d0285a06d6b89",
      "parents": [
        "8482826287ac2fdb2440213155cf134b7e713283"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Fri Mar 04 16:45:39 2016 -0800"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Tue Mar 08 10:53:09 2016 -0800"
      },
      "message": "TIF: Unhide TvView.setZOrderMediaOverlay/setZOrderOnTop/tune/unblockContent\n\nBug: 25726685\nChange-Id: If96d0b086488c931d20315ee1c29cf7374715d93\n"
    },
    {
      "commit": "1d6d16d6995099afa506ecac38019a5bb8eacd86",
      "tree": "8723dba30f83aff8c6069ca719fdcef9a0c5e707",
      "parents": [
        "9edd36a8ba6f4a55690c2e538d0ccc786da3497c"
      ],
      "author": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Mon Mar 07 13:51:02 2016 -0500"
      },
      "committer": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Tue Mar 08 10:41:31 2016 -0500"
      },
      "message": "Condition cleanup.\n\nChange-Id: If978bebac52c0b1438e86339669f409b4b17c6fc\n"
    },
    {
      "commit": "50d1c044b5ce4b6fef532dc6e083cef903f554b2",
      "tree": "a939ccdb97eaea101b411732145882c5861bd100",
      "parents": [
        "331279b239a6f5f392372f34cd6923fa589f9987"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Feb 29 16:34:46 2016 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Feb 29 16:46:09 2016 -0700"
      },
      "message": "Parcelable classes should always be final.\n\nAlso hide ConnectivityMetricsEvent which isn\u0027t being used yet.\n\nBug: 27415331\nChange-Id: Iacdccddda504f3f669185f807b4f35b8dc2b0212\n"
    },
    {
      "commit": "f398479e069c7accb1f96b06b32e086609342669",
      "tree": "5c88f5541a5bb832ff49a8a796335d4465818bae",
      "parents": [
        "4e34c4e53c21f004cb575c0d46c83565b33fed88",
        "27ee33482a2fdecbbbedbd33a137ceae3e93fa2a"
      ],
      "author": {
        "name": "Philipp Weiß",
        "email": "phweiss@google.com",
        "time": "Tue Feb 23 17:53:56 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 23 17:53:58 2016 +0000"
      },
      "message": "Merge \"Remove deprecated APIs DPM.createUser, createAndInitializeUser\" into nyc-dev"
    },
    {
      "commit": "5affc2b587323f55201d5db768b838505b5a4b72",
      "tree": "249b6eb058bb0050fcaf5ca62889d05faab18b2c",
      "parents": [
        "8e2602ea26fe8eeec36a994f84d9f8ed03ef9090"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Feb 22 17:12:15 2016 -0800"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Feb 22 17:29:32 2016 -0800"
      },
      "message": "Make android.media.AudioFormat parcelable\n\nBug 22876530\n\nChange-Id: If027715aad32ce8796a7e223ba51c301a3dd1192\n"
    },
    {
      "commit": "27ee33482a2fdecbbbedbd33a137ceae3e93fa2a",
      "tree": "332e40527419f875dcd246ec88d50f300ab27094",
      "parents": [
        "fa272e5c9262bc974d68139a6300ecdbf94f0767"
      ],
      "author": {
        "name": "phweiss",
        "email": "phweiss@google.com",
        "time": "Mon Feb 08 16:40:45 2016 +0100"
      },
      "committer": {
        "name": "phweiss",
        "email": "phweiss@google.com",
        "time": "Mon Feb 22 14:04:14 2016 +0100"
      },
      "message": "Remove deprecated APIs DPM.createUser, createAndInitializeUser\n\nThey were deprecated in M and slated for removal in N.\n\nBug: 26974903\nChange-Id: I7ae4d60bcf226c1e1de42852b378ad1ff71a914b\n"
    },
    {
      "commit": "34a9d5271915fb82c22811e6d17691a34b6c52c1",
      "tree": "6802483692ad40985af08bf9887498949fed648a",
      "parents": [
        "04a5d40cf35fb2c2fca2c1bfd573e5916d804ef6"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Wed Feb 17 10:12:04 2016 -0800"
      },
      "committer": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Wed Feb 17 14:38:25 2016 -0800"
      },
      "message": "Removed Intent.OPEN_EXTERNAL_DIRECTORY.\n\nSuch intent is now encapsulated by StorageVolume.createAccessIntent().\n\nBUG: 26742218\n\nChange-Id: I2e2bd71126ecd74981f77b0af7d069f51aaece74\n"
    },
    {
      "commit": "04a5d40cf35fb2c2fca2c1bfd573e5916d804ef6",
      "tree": "eb79e0a16bcdd263d4bd93dae09e74c38ebf6ebd",
      "parents": [
        "c47738d8c22ae09cd93096888def0cf33f39d285"
      ],
      "author": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Mon Feb 08 16:44:06 2016 -0800"
      },
      "committer": {
        "name": "Felipe Leme",
        "email": "felipeal@google.com",
        "time": "Wed Feb 17 13:14:39 2016 -0800"
      },
      "message": "Initial implementation of StorageManager.getVolumesList().\n\nThis change makes StorageManager.getVolumesList(),\nStorageManager.getPrimaryVolume(),  and StorageVolume public and adds a\nbuildAccessIntent() in the latter to automatically generate the\nACTION_OPEN_EXTERNAL_DIRECTORY intent, but it doesn\u0027t change the\nACTION_OPEN_EXTERNAL_DIRECTORY implementation yet (i.e., it still takes an URI with the physical path of the directory, instead of a StorageVolume and\na directorny name).\n\nBUG: 26742218\n\nChange-Id: I36c59c42b6579e125ec7f03c3af141260875a491\n"
    },
    {
      "commit": "a62496d8f7cb9048331451af07466b1edc568c7d",
      "tree": "05a5291ff6ed26e15d4d5b5dc5621747d10f0919",
      "parents": [
        "23b1de1122dfa737698decb45c3e6db5a0c359ac"
      ],
      "author": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Fri Jan 29 15:29:16 2016 -0500"
      },
      "committer": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Mon Feb 01 12:55:39 2016 -0500"
      },
      "message": "Re-SystemApi some fields/method that aren\u0027t in use.\n\nBug: 26816334\nChange-Id: Ib01e7856cd65e294c018017c600f8b3dce2be844\n"
    },
    {
      "commit": "b51617f4668ef8cf0e6d8d0fc3284eae51dbd8ca",
      "tree": "9e66ea505482770b09a33c338d008ab549357b91",
      "parents": [
        "d11c15d418d776d1db33f7664fad2671de0e6669"
      ],
      "author": {
        "name": "Stephan Linzner",
        "email": "slinzner@google.com",
        "time": "Wed Jan 27 18:09:50 2016 -0800"
      },
      "committer": {
        "name": "Stephan Linzner",
        "email": "slinzner@google.com",
        "time": "Wed Jan 27 18:09:58 2016 -0800"
      },
      "message": "Deprecated platform Android testing APIs\n\n- Deprecated most android.test.* APIs\n- Kept ProviderTestCase2 and LoaderTestCase since we don\u0027t have a\nreplacement yet\n- Deprecated android.test.suitebuilder\n- Added Javadoc to all deprecated APIs with links to corresponding\nAndroid Testing Support Library APIs\n- Removed all trailing whitespace\n\nBug: 22314304\nChange-Id: I1b1f0dd5132364110f1dfd4e3eb2dd044700d859\n"
    },
    {
      "commit": "e06b4d1d9f718b9fe02980fea794a36831a16db2",
      "tree": "cfef7d72c17fc71b008f0c9a8f08d49553a30e16",
      "parents": [
        "2a90f673f5819e05ea72f6aba3e75956e0f807dc"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Jan 06 14:51:50 2016 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Jan 06 15:21:06 2016 -0700"
      },
      "message": "Consistent naming for PackageManager methods.\n\nWhen hidden PackageManager methods take a userId argument, they\nshould be named explicitly with the \"AsUser\" suffix.  This fixes\nseveral lagging examples so that we can pave the way to safely\nstart passing flags to new methods without scary overloading.\n\nAlso fix spacing issues in various logging statements.\n\nChange-Id: I1e42f7f66427410275df713bea04f6e0445fba28\n"
    },
    {
      "commit": "e7ee54ee7f4985bc743053d38d21f33c70220f05",
      "tree": "e11771f287f3e9f5b197731414d0adc2e44a70d0",
      "parents": [
        "83fac6b062e049285d7df483a2c010eaf1660057"
      ],
      "author": {
        "name": "Craig Lafayette",
        "email": "craiglafa@google.com",
        "time": "Mon Sep 21 13:48:53 2015 -0400"
      },
      "committer": {
        "name": "Craig Lafayette",
        "email": "craiglafa@google.com",
        "time": "Fri Oct 02 13:11:57 2015 -0400"
      },
      "message": "Remove device initializer agent\n\nBug: 23216982\nChange-Id: I867c0b5f4165983d1ed2623a655f6a2a5e3770bb\n"
    }
  ],
  "next": "a36c07405280f93a11ad6398553da274e6daad83"
}
