)]}'
{
  "log": [
    {
      "commit": "df0e8fdffd43d55eaffc7d2e7266d2f4526fb3b9",
      "tree": "511503c46f465136b7ceb9511396f395ca08fa24",
      "parents": [
        "87086f59ad7263facde0d17404c70e5311cde29c"
      ],
      "author": {
        "name": "Sungsoo Lim",
        "email": "sungsoo@google.com",
        "time": "Wed Mar 07 13:09:36 2018 +0900"
      },
      "committer": {
        "name": "Sungsoo Lim",
        "email": "sungsoo@google.com",
        "time": "Wed Mar 07 16:41:19 2018 +0900"
      },
      "message": "Remove MediaPlaylistController, add MediaPlaylistAgent\n\nMediaPlaylistAgent is the abstract class an application needs to\nderive from to pass an object to a MediaSession2 that will override\ndefault playlist handling behaviors. It contains a set of notify*\nmethods to signal MediaSession2 that playlist-related state has\nchanged.\n\nBug: 64098437\nTest: make update-api\nChange-Id: Icb3c57ddc14eba276f49d4ba85f11adbeb3e0917\n"
    },
    {
      "commit": "87086f59ad7263facde0d17404c70e5311cde29c",
      "tree": "46bc982a6c00eeec815ee77ae963a32e10380c3c",
      "parents": [
        "4d4a8c95ae9cb49413aa13ec19dcef5068ea710f"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Wed Mar 07 15:16:55 2018 +0900"
      },
      "committer": {
        "name": "Sungsoo Lim",
        "email": "sungsoo@google.com",
        "time": "Wed Mar 07 16:31:56 2018 +0900"
      },
      "message": "MediaSession2: Add SessionCallback#onCurrentMediaItemChanged()\n\nAdded callback for session to know the currently playing media item has\nchanged.\n\nNote that the callback is called in response to the\nMediaPlayerBase#PlayerEventCallback#onCurrentDataSourceChanged(mpb, dsd\nis called. Session will translate dsd to the media item and calls\nonCurrentMediaItemChanged().\n\nFollowing changes are also included\n  - Removed MediaPlaylistController#getCurrentPlaylistItem(),\n    because currently playing item is managed by the MediaPlayerBase.\n  - Renamed ControllerCallback#onCurrentPlaylistItemChanged() to the\n    ControllerCallback#onCurrentMediaItemChanged(), to make it more\n    obvious that the event is from MediaPlayerBase, not\n    MediaPlaylistController.\n  - Added SessionCallback#onCurrentMediaItemChanged()\n\nBug: 64098437\nTest: Run MediaComponents test\nChange-Id: I78b124a7da0f968b097b2576507b9a73e36081ec\n"
    },
    {
      "commit": "4d4a8c95ae9cb49413aa13ec19dcef5068ea710f",
      "tree": "d25246c05279dced2a9988f514721671c15db5ff",
      "parents": [
        "8c76ca03418884d8e60bda1f5695d44563b20007"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Tue Mar 06 14:43:10 2018 +0900"
      },
      "committer": {
        "name": "Sungsoo Lim",
        "email": "sungsoo@google.com",
        "time": "Wed Mar 07 16:31:53 2018 +0900"
      },
      "message": "MediaSession2: Add onDataSourceMissingHelper\n\nThis allows a developer to create DataSourceDesc when the item is about\nto be played. Typical example of the usages are,\n\n    1. For a playlist consists of FileDescriptors, its developer may not\n        want to open all files when MediaSession2.setPlaylist() is\n        called.\n    2. A controller has called setPlaylist(), addPlaylistItem(), or\n        replacePlaylistItem(). Controller cannot know the\n        DataSourceDesc, and only the session developer can know about\n        it.\n\nBug: 64098437\nTest: Run MediaComponents test\nChange-Id: I73f27ca0a799b1cddf5046b41f0ca01d08037103\n"
    },
    {
      "commit": "2b00eaed270ccb0994be03e3f01382cf19734571",
      "tree": "5a4c957d6c6153719f56d5f112b519f0a73ad406",
      "parents": [
        "c6d01893aaa7698ad1d19522f35c9e38435ff81c",
        "164cfba536644095b962b45379020a792d3c51c8"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 07 00:19:55 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 07 00:19:55 2018 +0000"
      },
      "message": "Merge \"IME API: rename IMS methods.\" into pi-dev"
    },
    {
      "commit": "ccf41b87a990f12cc76bd57f67f1466bd48408c6",
      "tree": "cb41c1143d44c49081eecb2a48acc9a25f0f44b3",
      "parents": [
        "540a2903cd39c7fc4533be078dd8451a861031d2",
        "42a36c341dcac1e12d178ef063e73669eec12cf1"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Wed Mar 07 00:02:09 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 07 00:02:09 2018 +0000"
      },
      "message": "Merge changes from topic \"session2-pi-listcallback\" into pi-dev\n\n* changes:\n  MediaSession2: Pass player info for the callbacks from MediaPlayerBase\n  MediaSession2: Add MediaPlaylistController.PlaylistEventCallback\n"
    },
    {
      "commit": "16268a69d6fdf6758d34f67ee635dae96d479333",
      "tree": "ef49116300f6a0940ea4dec2234745b6f4acd68f",
      "parents": [
        "69598bbef56ba17a85a044f62380141964b93183",
        "dd027b3ab2087f4ccaf4e9d72472327f27789a1d"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Mar 06 23:04:16 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 06 23:04:16 2018 +0000"
      },
      "message": "Merge \"Fix issue #72116995: Add permission guarding Service#startForeground\" into pi-dev"
    },
    {
      "commit": "b15225cd886ee2d6ea61e93d8debba05ba07054c",
      "tree": "a3e93ddb520da57f99b51bd6c973046b10e63d0b",
      "parents": [
        "d4033e8eac5723030dad90530b4056bc26fbf51a",
        "62bc74727530d044efa086fd7eef41ff9cf939a5"
      ],
      "author": {
        "name": "Chen Xu",
        "email": "fionaxu@google.com",
        "time": "Tue Mar 06 22:57:32 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 06 22:57:32 2018 +0000"
      },
      "message": "Merge \"API review: rename CarrierIdentification to Carrier id\" into pi-dev"
    },
    {
      "commit": "0fec93682e50d1b0d6e59b917676f6f57efc469a",
      "tree": "57d34ef5220ad1508faad43f7bef16ebcfde8db1",
      "parents": [
        "e84c506fc3b7cc962fac407f465e46e8a6b969e8"
      ],
      "author": {
        "name": "Andrew Grieve",
        "email": "agrieve@google.com",
        "time": "Wed Feb 14 09:45:35 2018 -0500"
      },
      "committer": {
        "name": "Richard Coles",
        "email": "torne@google.com",
        "time": "Tue Mar 06 17:17:43 2018 +0000"
      },
      "message": "Expose Process.isIsolated()\n\nRather than have a process attempt to perform IO / IPC and check if it\nfails, it makes much more sense to expose this getter.\n\nMy specific motivation for exposing this information more directly is to\nbe able to perform process-specific initialization logic in\nApplication.attachBaseContext():\n\nhttps://cs.chromium.org/chromium/src/chrome/android/java/src/org/chromium/chrome/browser/ChromeApplication.java?rcl\u003dac2e180a1265f88dd4030bb35d69f5d0b2dc488d\u0026l\u003d54\n\nBug: 73343822\nTest: Same code that\u0027s used in Chrome via reflection.\nChange-Id: I1505962679da36ac42401230b204bff7b3376b73\n"
    },
    {
      "commit": "42a36c341dcac1e12d178ef063e73669eec12cf1",
      "tree": "c6d227a5a1c15e2e42008e4997f13da287bf7f33",
      "parents": [
        "273130dc9af6e3c3fc00513a1ba454dd1d8a5cf0"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Mon Mar 05 19:06:35 2018 +0900"
      },
      "committer": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Wed Mar 07 00:12:14 2018 +0900"
      },
      "message": "MediaSession2: Pass player info for the callbacks from MediaPlayerBase\n\nPlayer can be updated meantime, and player event from the previous\nplayer can be sent after the update. Providing player information will\nprovide developers more opportunity to filter out unecessary callbacks.\n\nBug: 64098437\nTest: Run MediaComponents test\nChange-Id: I9c23101df139e26351c008462c726ae7069130eb\n"
    },
    {
      "commit": "273130dc9af6e3c3fc00513a1ba454dd1d8a5cf0",
      "tree": "44b44258d9d7bcbb1c3de004a5a0c5d167dec01f",
      "parents": [
        "d97a0f1ac58d64462316f2b0d32162a01e3f828c"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Mon Mar 05 16:01:26 2018 +0900"
      },
      "committer": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Wed Mar 07 00:11:25 2018 +0900"
      },
      "message": "MediaSession2: Add MediaPlaylistController.PlaylistEventCallback\n\nThis includes following changes per offline discussion\n  - Add MediaPlaylistController.PlaylistEventCallback\n  - Add following APIs to the MediaPlaylistController\n    * registerPlaylistControllerCallback() /\n      unregisterPlaylistControllerCallback()\n    * getRepeatMode() / setRepeatMode()\n    * getShuffleMode() / setShuffleMode()\n    * setPlaylist() with metadata\n    * setPlaylistMetadata() / getPlaylistMetadata()\n  - Add following APIs to the SessionCallback\n    * onMediaPrepared()\n    * onPlayerStateChanged()\n    * onBufferingStateChanged()\n  - Remove following methods from ControllerCallback\n    * onPlaylistChanged()\n\nBug: 64098437\nBug: 74157064\nTest: passed MediaComponentTest\nChange-Id: I5ad12a9a5d6a7d9e23a577dca8ea26fbacb8f259\n"
    },
    {
      "commit": "164cfba536644095b962b45379020a792d3c51c8",
      "tree": "5099811758fa8c1547ad3a0fc3ac3d50b3b3d8b4",
      "parents": [
        "2cb0244ade0daf166882c6d4ca147e1f92862af2"
      ],
      "author": {
        "name": "Tarandeep Singh",
        "email": "tarandeep@google.com",
        "time": "Wed Feb 28 14:17:43 2018 -0800"
      },
      "committer": {
        "name": "Tarandeep Singh",
        "email": "tarandeep@google.com",
        "time": "Tue Mar 06 02:23:15 2018 +0000"
      },
      "message": "IME API: rename IMS methods.\n\nIncorporating API Review feedback:\n* Use IMS.switchInputMethod(id) instead of IMS.setInputMethod()\n* Use IMS.switchInputMethod(id, subtypeId) instead of\n  IMS.setInputMethodAndSubtype()\n* Renamed switchToLastInputMethod() to switchToPreviousInputMethod()\n\nBug: 73954137\nTest: atest InputMethodServiceTest\nTest: atest CtsInputMethodServiceHostTestCases\nChange-Id: I6efd5ca473e33e6faeadb7eea7772b9d2b8ca12b\n"
    },
    {
      "commit": "dd027b3ab2087f4ccaf4e9d72472327f27789a1d",
      "tree": "1f937eaea62c46d7f3758ccb73835acfa3c77ee9",
      "parents": [
        "081d3d2d89e7f73d01260ab92114814718614bea"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jan 19 17:44:46 2018 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Mar 05 16:59:21 2018 -0800"
      },
      "message": "Fix issue #72116995: Add permission guarding Service#startForeground\n\nNow requires permission if targeting P.\n\nNote that this is a separate permission from the existing one\nthat is required for instant apps to use foreground services.  The\nreason for this is that their semantics are different (the instant\napps permission is associated with an app op for control over what\nthe app is allowed, while the regular app permission is just a\nnormal permission that is always granted and only there for\nauditing of apps), and there are probably going to be cases where\na developer will want to use a foreground service in the full\nversion of their app but not as an instant app.\n\nBug: 72116995\nTest: atest CtsAppTestCases\nChange-Id: I883c9515c307ed8e39f0bf888c4045944c8183ac\n"
    },
    {
      "commit": "d526bc3b886b4127c310f5dea0035404e28d27a2",
      "tree": "393cddd870e54139a8201f7fa7a5ceeddb0287af",
      "parents": [
        "d97a0f1ac58d64462316f2b0d32162a01e3f828c"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Mar 01 09:20:13 2018 -0800"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Mon Mar 05 16:40:59 2018 -0800"
      },
      "message": "MediaPlayer2: clarify sync/async for API\u0027s\n\nTest: MediaPlayer2 plays\nBug: 63934228\nChange-Id: I48b73c75311dbb31dcebe7c7a38e444d7dc65ed8\n"
    },
    {
      "commit": "62bc74727530d044efa086fd7eef41ff9cf939a5",
      "tree": "3d029e7adaae368b287965d9358910090b7d6b8b",
      "parents": [
        "343c2157fc30776fb2855bf8b307a2d5ccb57892"
      ],
      "author": {
        "name": "fionaxu",
        "email": "fionaxu@google.com",
        "time": "Wed Feb 28 11:18:45 2018 -0800"
      },
      "committer": {
        "name": "fionaxu",
        "email": "fionaxu@google.com",
        "time": "Mon Mar 05 15:50:34 2018 -0800"
      },
      "message": "API review: rename CarrierIdentification to Carrier id\n\nBug: 73953797\nTest: unit test\nChange-Id: Id89c9100e8963a3cb890ebec347e4aabcd5fd4b8\n(cherry picked from commit 4281d0ff5755e04f3fa611953b88f32f5d262ab3)\nMerged-in: Id89c9100e8963a3cb890ebec347e4aabcd5fd4b8\n"
    },
    {
      "commit": "9bbd9661c05cbf0895e9468519ebf8effa655617",
      "tree": "f99b75f399420e750514f87958cbf60a1b4967fd",
      "parents": [
        "999e97f405b8f01b12a6fb8e844d33dc807813fa"
      ],
      "author": {
        "name": "Adrian Roos",
        "email": "roosa@google.com",
        "time": "Fri Mar 02 14:31:37 2018 +0100"
      },
      "committer": {
        "name": "Adrian Roos",
        "email": "roosa@google.com",
        "time": "Mon Mar 05 13:52:32 2018 +0000"
      },
      "message": "DisplayCutout API: Make constructor public and adjust javadoc\n\nChange-Id: I093cf4f9ea60f00e187aeb4a548f3f5789d87fa1\nFixes: 73953880\nTest: make update-api\n(cherry picked from commit d61db603fecefc72ce6454d34b24bab821337295)\n"
    },
    {
      "commit": "3a4f974c911291cdcb18154d21dd5a562f740781",
      "tree": "2b4c944299ae125c332ffc573d5246b24c2bdd3b",
      "parents": [
        "8a079a7a91b772393b1e542e9f380d0fda3d812a",
        "6de55b88f7542cbce90e53b53f4b66a6ceaaad4b"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Mar 05 01:23:19 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 05 01:23:19 2018 +0000"
      },
      "message": "Merge \"AID: Change loop to repeat and set from xml\""
    },
    {
      "commit": "f8f0c8df7842f88d3a71476f4175dca59d405fa6",
      "tree": "2c80f0e68990a467bdc9793d41b6477f4484d597",
      "parents": [
        "bada41cff6a29575d05f4b7e64017b43cc27f40b",
        "4397591f3da2aa03a22eeca308a78e1027505228"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Mar 03 23:36:37 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Mar 03 23:36:37 2018 +0000"
      },
      "message": "Merge \"Revert \"Introduce InputConnection#reportLanguageHint()\"\""
    },
    {
      "commit": "082cfca292a4cf8f797a95e99aa78be44d48b176",
      "tree": "81ab7e3d8a5162aaedfe8fdc1ac8afc29dde2141",
      "parents": [
        "36497cd21f5d4cd0f92ae28c3fa25c296ca3abd8",
        "5bc9756f8b757e197e44c86d37bf348cd299e738"
      ],
      "author": {
        "name": "nharold",
        "email": "nharold@google.com",
        "time": "Sat Mar 03 02:57:41 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Mar 03 02:57:41 2018 +0000"
      },
      "message": "Merge \"Expose Carrier Name Override CarrierConfig Values\" am: a60e42cc2d am: f0b3b84a13\nam: 5bc9756f8b\n\nChange-Id: I747e769a5d278e90fa880d9d26011c6d010fd95d\n"
    },
    {
      "commit": "4397591f3da2aa03a22eeca308a78e1027505228",
      "tree": "9607a7f95a4dbdfe36d67d6709a7915ff5f6667b",
      "parents": [
        "566f5b30c0bea6eed0d6a1365197bcb9e47c942e"
      ],
      "author": {
        "name": "Yohei Yukawa",
        "email": "yukawa@google.com",
        "time": "Fri Mar 02 17:35:18 2018 -0800"
      },
      "committer": {
        "name": "Yohei Yukawa",
        "email": "yukawa@google.com",
        "time": "Fri Mar 02 17:35:18 2018 -0800"
      },
      "message": "Revert \"Introduce InputConnection#reportLanguageHint()\"\n\nThis reverts commit e77386e8fbe01b7fbf1a04555d4088796d862f03 [1].\n\nReason for revert:\nThe protocol is not yet ready to be exposed and we are still unsure\nwhat is the best approach.\n\n [1]: Ie86edafd1ed68b58f702116f561fc448fdbb57a8\n\nBug: 7031513\nBug: 72522601\nFix: 74087970\nTest: atest CtsInputMethodTestCases\nChange-Id: Ia61dc9b3d5b116199382994430fb16ee804942b3\n"
    },
    {
      "commit": "c0fe0626f6b9676ef1fde7c2f9a42f3922683b5d",
      "tree": "f7c0f24ceea01c4736be6292c8593526ab73d850",
      "parents": [
        "b93a014cc8ba9c87ad84bafcb4013d2bd83eedc5",
        "217ccda8ac8f38137882a0f9fefeac8e53dc4ed6"
      ],
      "author": {
        "name": "Suprabh Shukla",
        "email": "suprabh@google.com",
        "time": "Sat Mar 03 01:32:21 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Mar 03 01:32:21 2018 +0000"
      },
      "message": "Merge \"An api to query usage events for the caller\""
    },
    {
      "commit": "247779b31c0eb0a07c207d291e4b01dae4264d1c",
      "tree": "616c7b2dc16e7a4ff2a0a3bbb01f5b22b2294647",
      "parents": [
        "dd33df2393f62e405206233163f32cc0da9f7066",
        "3fb60d56c2747b4b5498b87ec5790fad06b013b3"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Mar 03 00:54:31 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Mar 03 00:54:31 2018 +0000"
      },
      "message": "Merge \"MediaSession2: Add caller to the callback methods\""
    },
    {
      "commit": "b87a7a749c7c3578b21fc6781b53539e5bac603d",
      "tree": "03a13896e0da8e80190db611bbec29799932abf0",
      "parents": [
        "c1b46229eeec6559bd6cfc49c44cdcbce1d1580c",
        "d210655d48692802f8d418cc9f84729f01319e48"
      ],
      "author": {
        "name": "Cassie Han",
        "email": "xih@google.com",
        "time": "Sat Mar 03 00:31:34 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Mar 03 00:31:34 2018 +0000"
      },
      "message": "Merge \"Expand use of \u0027Str\u0027 suffix in CellIdentity to \u0027String\u0027\" am: d622eacb9e am: 3bcb6da703\nam: d210655d48\n\nChange-Id: Ibc0862fb7ae1063cbee10415c4c21d7d4a835c51\n"
    },
    {
      "commit": "a60e42cc2dd75d1de63721c6dd62cf0b0303dbda",
      "tree": "6010ecf65195e98298cc99786aa39da96ac842fa",
      "parents": [
        "d622eacb9e436bccf0a85a1db24ebd27770f3a57",
        "8366bcb8b811958d1fab9b66111aabf8fe56f7bf"
      ],
      "author": {
        "name": "nharold",
        "email": "nharold@google.com",
        "time": "Sat Mar 03 00:11:29 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Mar 03 00:11:29 2018 +0000"
      },
      "message": "Merge \"Expose Carrier Name Override CarrierConfig Values\""
    },
    {
      "commit": "053a3859a8ca3663f2aa2fbf67a971de8d917b63",
      "tree": "cef4d09eeb7ae5e1345fbc6dfbff3871118033bd",
      "parents": [
        "4462da8352e125298cb13565a5736ec4f43851b3",
        "de2bbb322bbeec45dfed89c3cc17ae0cc07c73b1"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 02 23:58:14 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 02 23:58:14 2018 +0000"
      },
      "message": "Merge \"MediaSession2: Add reset() to the MediaPlayerBase\""
    },
    {
      "commit": "d622eacb9e436bccf0a85a1db24ebd27770f3a57",
      "tree": "c53b5747720deb4f976ae12719f1d3e3d898bb6c",
      "parents": [
        "d846adac83878b82dcabcf2e4d73dc8a74c176d0",
        "d062c3221a28fc980177236c0ab5cbb8a790590f"
      ],
      "author": {
        "name": "Cassie Han",
        "email": "xih@google.com",
        "time": "Fri Mar 02 22:15:56 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 02 22:15:56 2018 +0000"
      },
      "message": "Merge \"Expand use of \u0027Str\u0027 suffix in CellIdentity to \u0027String\u0027\""
    },
    {
      "commit": "6de55b88f7542cbce90e53b53f4b66a6ceaaad4b",
      "tree": "64983fba34d52d4b70dfbea6b4b6dc7cee73ee78",
      "parents": [
        "c9aa856559ca3b08c9409164b2f86c218c71505f"
      ],
      "author": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Fri Feb 23 16:11:37 2018 -0500"
      },
      "committer": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Fri Mar 02 16:11:37 2018 -0500"
      },
      "message": "AID: Change loop to repeat and set from xml\n\nBug: 73529437\nTest: I60fbee6d3610070413e8c46f363ec3c19c2e7c52\n\nAllow setting AnimatedImageDrawable\u0027s loop count in xml. Use\n\"repeatCount\" to match the existing attr used by other objects, and\nchange the Java api from \"loop\" to \"repeat\".\n\nCache the repeat count in the State object for the situation where we\ninflate but are waiting on a theme, so that when we get a src we can\napply the existing repeat count.\n\nChange-Id: Ie723fe9a40c64dd0e1e8fd7b5d5cf81e5c5ccd0d\n"
    },
    {
      "commit": "3c4c64455e53e0dd6330cfc6056507d6db4c3d7b",
      "tree": "e6c535ae0c5f0b5a7c2ba51cb6b6d0c812871b92",
      "parents": [
        "a793e508496e12c021881a49fdc17d6a1024eee0",
        "15e2c5d54dbd83eebc9a5bc767fcdf30f659afca"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 02 19:14:26 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 02 19:14:26 2018 +0000"
      },
      "message": "Merge \"Add a HINT_KEYWORDS to Slice\""
    },
    {
      "commit": "45277c7aca55997670a15ff186d373b0735397de",
      "tree": "54dc142aaff0b9f8142882efdae347864d150d68",
      "parents": [
        "6001f72478f44bc139e348be5e86e3d39525444d",
        "e902719b93b6938af4481d7ccc0e5616d6b2cc7b"
      ],
      "author": {
        "name": "Holly Jiuyu Sun",
        "email": "jiuyu@google.com",
        "time": "Fri Mar 02 19:01:41 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 02 19:01:41 2018 +0000"
      },
      "message": "Merge \"Add result code for eUICC card not found.\""
    },
    {
      "commit": "f1aab4de207cace32cdce226d9eaaadd80d7c246",
      "tree": "9e00a626a39bf1a87bd38799b59bb1330c558fa1",
      "parents": [
        "8c334d0b7d6ea33eea70068ad18a3d666af02bfd",
        "a725df9903122591cc2c1e7ce082a8299567d69e"
      ],
      "author": {
        "name": "Vladislav Kaznacheev",
        "email": "kaznacheev@google.com",
        "time": "Fri Mar 02 17:34:04 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 02 17:34:04 2018 +0000"
      },
      "message": "Merge \"Add ViewConfiguration.shouldShowMenuShortcutsWhenKeyboardPresent\""
    },
    {
      "commit": "3fb60d56c2747b4b5498b87ec5790fad06b013b3",
      "tree": "49b1b44db317184cfc396e3a78ab3ee2025e0f72",
      "parents": [
        "3eef2efe40d9c783a74174b929535a2569424af1"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Fri Mar 02 19:23:18 2018 +0900"
      },
      "committer": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Fri Mar 02 23:14:40 2018 +0900"
      },
      "message": "MediaSession2: Add caller to the callback methods\n\nThis is to follow MediaPlayer2 and MediaPlayerBase\u0027s API style.\n\nBug: 64098437\nTest: make update-api\nChange-Id: I7fe17852d16237fac801c716eab1007cd0337867\n"
    },
    {
      "commit": "f10700343c142ef95694aa5fa92ccba95201a4dc",
      "tree": "ab8d46951e0c4e2c5fa50ec8ebf086ea6d6fef95",
      "parents": [
        "0f0d1ab1d370bb3f99a288a85b03f9b551eb1383",
        "5518c752ba5d50b4314227b649f7b6c178ff2b63"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 02 09:57:14 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 02 09:57:14 2018 +0000"
      },
      "message": "Merge \"Add HIDDEN_API_BLACKLIST_EXEMPTIONS to @TestApi.\""
    },
    {
      "commit": "5518c752ba5d50b4314227b649f7b6c178ff2b63",
      "tree": "e4bfe53cd057dda0b43cb71b8a3511f74619fb0a",
      "parents": [
        "efdb3f204384b134fa752a5ce2515cec458e713a"
      ],
      "author": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Tue Feb 27 16:36:11 2018 +0000"
      },
      "committer": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Fri Mar 02 09:51:28 2018 +0000"
      },
      "message": "Add HIDDEN_API_BLACKLIST_EXEMPTIONS to @TestApi.\n\nIt\u0027s used by a CGTS test.\n\nBug: 64382372\nTest: It builds\nChange-Id: I4bde625a89896140b2e8bf585d16074d290c0fc9\n"
    },
    {
      "commit": "de2bbb322bbeec45dfed89c3cc17ae0cc07c73b1",
      "tree": "e81950e827d9f290a957ee44d192ddd68d0b723c",
      "parents": [
        "2410a0dd316d70b718d1358860224e48778a0669"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Fri Mar 02 09:12:16 2018 +0900"
      },
      "committer": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Fri Mar 02 18:03:42 2018 +0900"
      },
      "message": "MediaSession2: Add reset() to the MediaPlayerBase\n\nThis would be used in response to\n  - MediaController2#play()\n  - KEYCODE_MEDIA_STOP\n\nBug: 64098437\nTest: passed MediaComponentTest\nChange-Id: I7cd4d855d5e1bf8e4260a9b920f30dfe2eea44e1\n"
    },
    {
      "commit": "0f0d1ab1d370bb3f99a288a85b03f9b551eb1383",
      "tree": "dcb424c9ce61a177511ddadd2c0468a46a60738d",
      "parents": [
        "2410a0dd316d70b718d1358860224e48778a0669",
        "7f414d94fc4f6bd34325f3865b51e8d11acb52ad"
      ],
      "author": {
        "name": "Bo Zhu",
        "email": "bozhu@google.com",
        "time": "Fri Mar 02 08:52:36 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 02 08:52:36 2018 +0000"
      },
      "message": "Merge \"Check the public-key signature of the whole certificate file before accepting the certificates\""
    },
    {
      "commit": "8366bcb8b811958d1fab9b66111aabf8fe56f7bf",
      "tree": "b260a676a9c337beab4cbc9a307a2266fb6becaa",
      "parents": [
        "701421c6c9cc388b8e0c2817e4081a1b35e92ce6"
      ],
      "author": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Wed Feb 28 14:57:54 2018 -0800"
      },
      "committer": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Thu Mar 01 19:10:28 2018 -0800"
      },
      "message": "Expose Carrier Name Override CarrierConfig Values\n\nThese CarrierConfig values are needed for a\nCC app to override the SPN dynamically. Since\nCarrier names are very complicated, it\u0027s extra\nimportant that these values be exposed so that we\ncan properly enforce correct behavior through CTS.\n\nBug: 73734601\nTest: compilation (no functional change)\nChange-Id: I26dab1bd32d1d5273f707a37026cffca7fd639a3\n"
    },
    {
      "commit": "15e2c5d54dbd83eebc9a5bc767fcdf30f659afca",
      "tree": "e2d50ed322576afa85d86223422583ed4711ae35",
      "parents": [
        "c5ad652629c3f28fcb77ca63f99882554a832cbc"
      ],
      "author": {
        "name": "Mady Mellor",
        "email": "madym@google.com",
        "time": "Thu Mar 01 16:46:56 2018 -0800"
      },
      "committer": {
        "name": "Mady Mellor",
        "email": "madym@google.com",
        "time": "Fri Mar 02 00:54:15 2018 +0000"
      },
      "message": "Add a HINT_KEYWORDS to Slice\n\nWant to be able to support allowing a Slice to specify some keywords\nassociated with it; need a new hint to identify these.\n\nBug: 74086214\nTest: make\nChange-Id: I79d3f1806eecf416f5e3ae09451b90507b382c24\n"
    },
    {
      "commit": "e902719b93b6938af4481d7ccc0e5616d6b2cc7b",
      "tree": "684947272bb936aa90ef9a915c1494b43d2182b1",
      "parents": [
        "8c32954906f0ce7192f25b38154d9dbc18bc508b"
      ],
      "author": {
        "name": "Holly Jiuyu Sun",
        "email": "jiuyu@google.com",
        "time": "Thu Feb 22 14:58:44 2018 -0800"
      },
      "committer": {
        "name": "Holly Jiuyu Sun",
        "email": "jiuyu@google.com",
        "time": "Thu Mar 01 13:00:30 2018 -0800"
      },
      "message": "Add result code for eUICC card not found.\n\nBug: 38206971\nTest: test on phone\nMerged-In: Ia783fe68389d950b664ad312d98c7e3aa200b471\nChange-Id: Ia783fe68389d950b664ad312d98c7e3aa200b471\n"
    },
    {
      "commit": "595182423f75da346b7c2182d5b3cf1aba3ea256",
      "tree": "7569b1a4cc15b30e63b51e353385d7c7bc64e5e6",
      "parents": [
        "5130fdb0ace94f09c712ef7355567cedccaeb8a8",
        "0c1701d32c69f9893c4382dd4705278d4a44f5fb"
      ],
      "author": {
        "name": "Jiuyu Sun",
        "email": "jiuyu@google.com",
        "time": "Thu Mar 01 19:21:32 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 01 19:21:32 2018 +0000"
      },
      "message": "Merge \"Add result code for eUICC card not found.\""
    },
    {
      "commit": "5130fdb0ace94f09c712ef7355567cedccaeb8a8",
      "tree": "413132286f1f303d8467f6a50aeec8b5fc7123c4",
      "parents": [
        "341c2366cce599da1b4fb9db502bdfbe4dbfd84b",
        "cd5385531165b6e13d8b6856a0678c228de5a22f"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Mar 01 18:50:18 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 01 18:50:18 2018 +0000"
      },
      "message": "Merge \"cas: explicitly define possible key id values\""
    },
    {
      "commit": "f0cda31e008ff886c4e83bf0e12054597e0fe513",
      "tree": "91608e67e72eb87abc3cebe3b0a3d88e6fdf70ef",
      "parents": [
        "c6245e58d51618f9b9b7d2b764e910a1d25b0025",
        "f3ab9cdc413fd921ec4f386a4ae55f01ae5510f7"
      ],
      "author": {
        "name": "Arthur Ishiguro",
        "email": "arthuri@google.com",
        "time": "Thu Mar 01 17:10:14 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 01 17:10:14 2018 +0000"
      },
      "message": "Merge \"Mark location classes as Parcelable appropriately\""
    },
    {
      "commit": "90c27c332a7ac17cd190915a12529f66b03ec6cd",
      "tree": "5fa11f0353aab474f7dd9ce469bf9e848a3245bc",
      "parents": [
        "efdb3f204384b134fa752a5ce2515cec458e713a",
        "2292031e3df58ec14221bf601434acace62cc15c"
      ],
      "author": {
        "name": "Adrian Roos",
        "email": "roosa@google.com",
        "time": "Thu Mar 01 13:57:22 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 01 13:57:22 2018 +0000"
      },
      "message": "Merge \"DisplayCutout: Add xml wrapper for layoutInDisplayCutoutMode\""
    },
    {
      "commit": "8f7aa97fa9c2f7be241d994c64bef147b1e67b38",
      "tree": "996508546d74007762e5d7f45dbfd85f83fe1fb7",
      "parents": [
        "38008955e301668ca1a9a52993f20edf46a4abbb",
        "1789cc7f8221fd1f682fa08a1aeb1e37c2315887"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Mar 01 07:28:35 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 01 07:28:35 2018 +0000"
      },
      "message": "Merge \"MediaPlayer2: clean up APIs\""
    },
    {
      "commit": "38008955e301668ca1a9a52993f20edf46a4abbb",
      "tree": "be64382b89af985a7b4bbc95ad340ee28bf5b16d",
      "parents": [
        "fa6d6d963bc5e2c0e04f7d5b27688e281dd1ca49",
        "af576a0e4fa9c9fe06a185007d5f201d80e4ebd1"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Mar 01 07:00:39 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 01 07:00:39 2018 +0000"
      },
      "message": "Merge \"AudioPolicy: support for add/remove AudioMix without unregistering\""
    },
    {
      "commit": "3b0014dcad24d0f6bf631689610cd5e9ce98781b",
      "tree": "b0390629a605a1064409929e498ed43268f74b10",
      "parents": [
        "8e1522197a6ff963736953eff55a583f9297ea70",
        "12a1f6274547417eabd0fd6397ebef1ec0895f07"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Mar 01 05:11:24 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 01 05:11:24 2018 +0000"
      },
      "message": "Merge \"MediaSession2: Unhide setAudioFocusRequest\""
    },
    {
      "commit": "af576a0e4fa9c9fe06a185007d5f201d80e4ebd1",
      "tree": "006b37813251c3d7f1e46db369332cc9db25e5e7",
      "parents": [
        "2c5079c6418742452265181fe09514d6856563de"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Feb 14 08:57:46 2018 -0800"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Feb 28 21:06:20 2018 -0800"
      },
      "message": "AudioPolicy: support for add/remove AudioMix without unregistering\n\nSystem API for a registered AudioPolicy to attach or detach\n  AudioMix without having to unregister, and then registering\n  the new mix configuration.\n\nBug: 63906162\nTest: AudioPolicyTest\n\nChange-Id: Ib2fea8aa034d3f7b498e76dc1fc51c1ea508d3a2\n"
    },
    {
      "commit": "1789cc7f8221fd1f682fa08a1aeb1e37c2315887",
      "tree": "9c0ec12bcbb9d324f315a6a41127bcae603919b8",
      "parents": [
        "7d29aa7d16b3d73c5818e6af39e47f0305fb21f1"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Fri Feb 23 09:16:08 2018 -0800"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Feb 28 19:52:13 2018 -0800"
      },
      "message": "MediaPlayer2: clean up APIs\n\nMake MediaPlayer2 derived from MediaPlayerBase\nTest: MediaPlayer2 plays\nBug: 63934228\nChange-Id: Ib31e3196ad65c694f778a8a79277e53017a7026f\n"
    },
    {
      "commit": "c7c1ce8012ab224e14d62c7140f5ecc4613960f0",
      "tree": "03c7cbd56def4bb642a340f5f5f23523f5298906",
      "parents": [
        "81b3bb99f92c7aab2ce446c3af2a772a55301eac",
        "aa080a80a6a152cda5879a2c2510f9c76b9b5f9d"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Mar 01 03:39:31 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 01 03:39:31 2018 +0000"
      },
      "message": "Merge \"MediaSession2: Refine APIs\""
    },
    {
      "commit": "12a1f6274547417eabd0fd6397ebef1ec0895f07",
      "tree": "dec551dbb0c1aa64ede31e5e07f932b9b0f4a2c8",
      "parents": [
        "5ef42473526b480c8295389288fa90873a18bff1"
      ],
      "author": {
        "name": "Sungsoo Lim",
        "email": "sungsoo@google.com",
        "time": "Thu Mar 01 09:08:40 2018 +0900"
      },
      "committer": {
        "name": "Sungsoo Lim",
        "email": "sungsoo@google.com",
        "time": "Thu Mar 01 12:31:52 2018 +0900"
      },
      "message": "MediaSession2: Unhide setAudioFocusRequest\n\nBug: 64098437\nTest: make update-api\nChange-Id: I9244719e1a771ab7b420a95af6ba43faef7b352c\n"
    },
    {
      "commit": "f3ab9cdc413fd921ec4f386a4ae55f01ae5510f7",
      "tree": "468dacab5a2e332d5c307a4302a915a0d0f06c02",
      "parents": [
        "ecd5ebbf11c2ce60b121ff7516e3be8a8563c032"
      ],
      "author": {
        "name": "Arthur Ishiguro",
        "email": "arthuri@google.com",
        "time": "Wed Feb 28 11:27:50 2018 -0800"
      },
      "committer": {
        "name": "Arthur Ishiguro",
        "email": "arthuri@google.com",
        "time": "Thu Mar 01 03:10:57 2018 +0000"
      },
      "message": "Mark location classes as Parcelable appropriately\n\nDoesn\u0027t add the \"final\" qualifier,\nsince make will throw errors due to compatibility issues.\n\nBug: 69622177\nTest: Run CHQTS from master and oc-mr1-dev, verify pass\nChange-Id: If02203d7862e77ca4fda7b95a39bbfa3d9f6d87d\n"
    },
    {
      "commit": "aa080a80a6a152cda5879a2c2510f9c76b9b5f9d",
      "tree": "39a87021f77c240d94b1f2acd2fac42684568924",
      "parents": [
        "5ef42473526b480c8295389288fa90873a18bff1"
      ],
      "author": {
        "name": "Sungsoo Lim",
        "email": "sungsoo@google.com",
        "time": "Tue Feb 27 21:39:50 2018 +0900"
      },
      "committer": {
        "name": "Sungsoo Lim",
        "email": "sungsoo@google.com",
        "time": "Thu Mar 01 10:38:33 2018 +0900"
      },
      "message": "MediaSession2: Refine APIs\n\nBug: 64098437\nTest: passed MediaComponentTest\nChange-Id: I40e1ef141e47d17e2bfa0a689a680b45a3d73b03\n"
    },
    {
      "commit": "4f7c46585d733e6efbda6134b378d239ab516933",
      "tree": "106f6b1468ef86ae3752392d6f0e5ec43e56447f",
      "parents": [
        "30982facc5d67e1a3ae9a93dbfaeded0099c1b21",
        "3e88ed82e58acd93419f6dc844b8139208cc5f1e"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Mar 01 01:26:14 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 01 01:26:14 2018 +0000"
      },
      "message": "Merge \"NEW API: Add Image.getHardwareBuffer()\""
    },
    {
      "commit": "30982facc5d67e1a3ae9a93dbfaeded0099c1b21",
      "tree": "c06bd09e18f23beb8398a4ac41f8ed649e155288",
      "parents": [
        "06b1df657a9fcc93a2541fca4495559dc950798e",
        "a7a0db6c93a57b70bc22682536c2506a2738180f"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Mar 01 01:11:35 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 01 01:11:35 2018 +0000"
      },
      "message": "Merge \"Finish ops started on behalf of a removed package.\""
    },
    {
      "commit": "06b1df657a9fcc93a2541fca4495559dc950798e",
      "tree": "7bd3a30056f3a3c758c9fbe233c6da6010fc4fc6",
      "parents": [
        "364eb306471fcdd4130b5899ddeb7978d8050b8c",
        "f7b4725375dfb5f6b65433f1679c44501c2478e3"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Mar 01 01:11:25 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 01 01:11:25 2018 +0000"
      },
      "message": "Merge \"Use start/finish app ops in window manager\""
    },
    {
      "commit": "2175b9a8b20e4f5c5b6e241e22b23e1f90ace4f5",
      "tree": "f787f4ea37ba73e59f6a99c4d994e53900195d4e",
      "parents": [
        "ef71a4cc6ec290c09d8b33694e6ef78a8bfe56a7",
        "e00f31b3f2de77da512a55b9e95a2d68aa4dccf8"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Mar 01 00:57:31 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 01 00:57:31 2018 +0000"
      },
      "message": "Merge \"Ringtone: unhide looping and volume control\""
    },
    {
      "commit": "19130fea91e74c78ff4e1ef175955be3ede315e1",
      "tree": "9126f899c4914e2c401b0f19d88b8bc5ff568720",
      "parents": [
        "2b4b2bf0e867abc98c61c27cc75b7b5e925c79cf",
        "337e01ac10f59f60c5b2a2b7288debc963f6c0e3"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 28 23:19:13 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 28 23:19:13 2018 +0000"
      },
      "message": "Merge \"More work on issue #73301635: Ability to extract device configuration\""
    },
    {
      "commit": "379374b1d3d777924689fea0cf7ea6eccff77f2a",
      "tree": "bc443fd1f31267ea5be40338875f46ce62d1641e",
      "parents": [
        "d5a2e636c0147fd71572f43d5cf73c7ba16a6e64",
        "4d64c093cd785e7a53fafe1aaf796ed734d61a02"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 28 22:28:30 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 28 22:28:30 2018 +0000"
      },
      "message": "Merge \"Added an api to query ForcedAppStandby state\""
    },
    {
      "commit": "3e88ed82e58acd93419f6dc844b8139208cc5f1e",
      "tree": "61becb7f181a9842f4e0a2862ffdd6dad1725d84",
      "parents": [
        "d5a2e636c0147fd71572f43d5cf73c7ba16a6e64"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Feb 20 18:32:22 2018 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Feb 28 22:23:54 2018 +0000"
      },
      "message": "NEW API: Add Image.getHardwareBuffer()\n\nThis mirror the corresponding NDK API. For some\nreason this was missing from the java version\nof Image.\n\nBug: 73784759\nTest: manual\nChange-Id: Iafa6dedda809fe38ea4453d9873d1ba886f88481"
    },
    {
      "commit": "e00f31b3f2de77da512a55b9e95a2d68aa4dccf8",
      "tree": "f6fdccd70c890eba1a1ef9e91dc36677c504d461",
      "parents": [
        "afab611ad03a6a9f6d9c61bd9269525f12c1b4d4"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Feb 26 09:50:59 2018 -0800"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Feb 28 12:57:55 2018 -0800"
      },
      "message": "Ringtone: unhide looping and volume control\n\nAlso clean up whitespace in file.\n\nBug: 22182606\nTest: adb shell clrgt --loop true --volume 50\nChange-Id: I937b678f72b4a47b0f02b3124669e2de5e743033\n"
    },
    {
      "commit": "a7a0db6c93a57b70bc22682536c2506a2738180f",
      "tree": "c70be9839ff1f7c50e40651b09afb431dc49b562",
      "parents": [
        "f7b4725375dfb5f6b65433f1679c44501c2478e3"
      ],
      "author": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Tue Feb 27 20:08:01 2018 -0800"
      },
      "committer": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Wed Feb 28 12:42:08 2018 -0800"
      },
      "message": "Finish ops started on behalf of a removed package.\n\nTwo issues here - ops stated for a package that went away\nby another package were not marked as finished. And when\nthe process that started the ops died we did not finish\nall nested ops.\n\nTest: atest android.permission.cts.AppOpsTest\n\nbug: 64085448\n\nChange-Id: Id57b3043605a65f2dfc1eea50b81793dd86f58d1\n"
    },
    {
      "commit": "0e35073ec9d02677f189e96b734d87d9dba650bd",
      "tree": "3ac9d162c72efb8fbc274290f9650a9596535fb0",
      "parents": [
        "67e5ac94cd5fb230c01cfddde100f67f450b15e9",
        "7b0b97a42ae4e72e1b2285524db8cfc0442e8b81"
      ],
      "author": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Wed Feb 28 20:01:09 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 28 20:01:09 2018 +0000"
      },
      "message": "Merge \"Add APIs to look into whats in an Icon\""
    },
    {
      "commit": "7f414d94fc4f6bd34325f3865b51e8d11acb52ad",
      "tree": "0cd582a6fb1a4e8b44717c23e358fffae53a7b10",
      "parents": [
        "b1d5004cf59ff4d48dc72c8df761280801458653"
      ],
      "author": {
        "name": "Bo Zhu",
        "email": "bozhu@google.com",
        "time": "Wed Feb 28 09:28:19 2018 -0800"
      },
      "committer": {
        "name": "Bo Zhu",
        "email": "bozhu@google.com",
        "time": "Wed Feb 28 11:58:30 2018 -0800"
      },
      "message": "Check the public-key signature of the whole certificate file before\naccepting the certificates\n\nThis change requires an additional param to the initRecoveryService()\nAPI to take in the public-key signature.\n\nBug: 73904566\nTest: adb shell am instrument -w -e package \\\ncom.android.server.locksettings.recoverablekeystore \\\ncom.android.frameworks.servicestests/android.support.test.runner.AndroidJUnitRunner\n\nChange-Id: I2aeead1fda51b6cd8df71ed3b5066342ebc8d5ea\n"
    },
    {
      "commit": "67e5ac94cd5fb230c01cfddde100f67f450b15e9",
      "tree": "c04c8022a0e8b758a428831e71aac3f20bed17d4",
      "parents": [
        "6158952c30497fa10bed5f7955cfb25c394e7593",
        "979b884a040fa211383eec1457530f4f3dc4cc3c"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 28 19:55:15 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 28 19:55:15 2018 +0000"
      },
      "message": "Merge \"deprecate EmbossMaskFilter\""
    },
    {
      "commit": "d062c3221a28fc980177236c0ab5cbb8a790590f",
      "tree": "aa9da1052f8ddce31e743cd358c8431ab9b96b5c",
      "parents": [
        "18f8500e3246b7e1c57e427503997e3b120ed716"
      ],
      "author": {
        "name": "Cassie",
        "email": "xih@google.com",
        "time": "Wed Feb 28 11:45:29 2018 -0800"
      },
      "committer": {
        "name": "Cassie",
        "email": "xih@google.com",
        "time": "Wed Feb 28 11:45:29 2018 -0800"
      },
      "message": "Expand use of \u0027Str\u0027 suffix in CellIdentity to \u0027String\u0027\n\nExpand use of \u0027Str\u0027 suffix in CellIdentity to \u0027String\u0027 to match general\nusage across Android according to the API Review.\n\nBug: 73751308\nTest: Unit test\nChange-Id: Ib25a06056832be610ff1fb9c025467259eb543ed\n"
    },
    {
      "commit": "337e01ac10f59f60c5b2a2b7288debc963f6c0e3",
      "tree": "63c9cdbffe6b2de163ddecb51afd4303b18b2af3",
      "parents": [
        "008c4dbcf9edd0f0520e4cb941d40c2b0c084953"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Feb 27 17:16:37 2018 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Feb 28 11:29:20 2018 -0800"
      },
      "message": "More work on issue #73301635: Ability to extract device configuration\n\nNow include Gl extensions (thanks to whoever wrote the code\nI copied!).\n\nTweak the protos a bit to include missing info and correct\nsome things.\n\nAdd some new test APIs that are needed for CTS.\n\nBug: 73301635\nTest: atest CtsActivityManagerDeviceTestCases:ActivityManagerGetConfigTests\nChange-Id: Ie3f8173d217468246e8b6c7f45b7cbfcb352d60f\n"
    },
    {
      "commit": "824095856be2745050d5c45d91bd88492f2940f4",
      "tree": "c38cef9cfe52d1ae70ec9619217138404f89bd81",
      "parents": [
        "f10f40b03c33f757b228877f305c5d7302d88c82",
        "5f7e948ad808d3f9c84482594e0da45b4181a6e5"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 28 19:05:29 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 28 19:05:29 2018 +0000"
      },
      "message": "Merge \"Allow chaining ImageDecoder\u0027s setters\""
    },
    {
      "commit": "cd5385531165b6e13d8b6856a0678c228de5a22f",
      "tree": "db55347542eeb96b017ec3cb34df24611a0d47ea",
      "parents": [
        "c5f5ad103fb9416cb63ec9f7c2397bb343cb2f44"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Feb 21 17:22:19 2018 -0800"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Feb 28 10:57:15 2018 -0800"
      },
      "message": "cas: explicitly define possible key id values\n\nRemove cas header from media jni headers, and define flags\nfor PES header extraction.\n\nbug: 73898003\n\ntest: CTS MediaCasTest, MediaDrmClearkeyTest\n\nChange-Id: I2a512e2dbeb8be53a64bfa0b89254032c7341fa2\n"
    },
    {
      "commit": "f10f40b03c33f757b228877f305c5d7302d88c82",
      "tree": "478eb611423f29439eee0acb7d2b19e8ee8a5f26",
      "parents": [
        "afab611ad03a6a9f6d9c61bd9269525f12c1b4d4",
        "a38b2135a4bf4368734567a73d2e56f1c318fee9"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 28 18:47:03 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 28 18:47:03 2018 +0000"
      },
      "message": "Merge \"setPreferRamOverQuality -\u003e setConserveMemory\""
    },
    {
      "commit": "7f1bceb325e52a5015fc19997b22afbfff0b43ed",
      "tree": "6ac01716355937fae7e10e94c5bdb60c58e2b8e8",
      "parents": [
        "2f3adb4d275dcf36762282c66afa58876fd3b045",
        "c3a438f65b24d88059fdc2d5e2432a4cb70e2cfb"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 28 16:36:23 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 28 16:36:23 2018 +0000"
      },
      "message": "Merge \"MediaPlayerBase API\""
    },
    {
      "commit": "2292031e3df58ec14221bf601434acace62cc15c",
      "tree": "9f7892985376e2ece0e830bf2ada772741cf3533",
      "parents": [
        "9371be3b88e2bcd6da6223b4cf59a00d32147133"
      ],
      "author": {
        "name": "Adrian Roos",
        "email": "roosa@google.com",
        "time": "Fri Feb 23 14:33:42 2018 +0100"
      },
      "committer": {
        "name": "Adrian Roos",
        "email": "roosa@google.com",
        "time": "Wed Feb 28 16:43:16 2018 +0100"
      },
      "message": "DisplayCutout: Add xml wrapper for layoutInDisplayCutoutMode\n\nAllows native apps to request a layoutInDisplayCutoutMode without\nhaving to implement a custom NativeActivity subclass.\n\nChange-Id: I0b7fd4624e89fabe177462d615360442f72a1e11\nFixes: 73807928\nTest: atest PhoneWindowTest\n"
    },
    {
      "commit": "5240541e0173116bf0a088241057ad2e63fc9113",
      "tree": "fa647bf736d80bd9e97a2bd0242869ddaa3a632f",
      "parents": [
        "46aadf67b0ac2d29062bd0686e6e91e5da9dca30",
        "5af199c56e2723f0eb98027644a1e3486f22ef18"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 28 13:43:36 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 28 13:43:36 2018 +0000"
      },
      "message": "Merge \"Remove @removed from APIs still in use\""
    },
    {
      "commit": "58c83fa7c8609059f3d66a5860abb302284c2981",
      "tree": "188f5bcf8a695a4e53e279c09a6333b931698e00",
      "parents": [
        "dc66a1d891ae3f8296504b26e02183766abbca4f",
        "b785faa1d71d64bba56e34dce93c7e8937845afc"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 28 10:43:38 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 28 10:43:38 2018 +0000"
      },
      "message": "Merge \"Unhide VideoView2 APIs\""
    },
    {
      "commit": "5af199c56e2723f0eb98027644a1e3486f22ef18",
      "tree": "eae02689715dc649be67c3a0e8a0a989bc2bcaef",
      "parents": [
        "2b2988946293c89761607e05eb1eb53e1e1c80f8"
      ],
      "author": {
        "name": "Robert Berry",
        "email": "robertberry@google.com",
        "time": "Wed Feb 28 10:14:24 2018 +0000"
      },
      "committer": {
        "name": "Robert Berry",
        "email": "robertberry@google.com",
        "time": "Wed Feb 28 10:31:43 2018 +0000"
      },
      "message": "Remove @removed from APIs still in use\n\nI completely misunderstood this annotation.\n\nBug: 73962883\nTest: ran unit tests\nChange-Id: Id3e3863fc6fd1e0614a3c75d25cd35239667eaf0\n"
    },
    {
      "commit": "dc66a1d891ae3f8296504b26e02183766abbca4f",
      "tree": "24d2262a05a1d7925214b374b0b75a87700065df",
      "parents": [
        "961f409d377e25dba091b065d36190deb56eb84d",
        "a64d4b98b54d6e03db993efa1e0d8bd0ba855f90"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 28 10:28:25 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 28 10:28:25 2018 +0000"
      },
      "message": "Merge \"Unhide MediaControlView2 APIs\""
    },
    {
      "commit": "b785faa1d71d64bba56e34dce93c7e8937845afc",
      "tree": "8b0cdcdbb3fee1e266b082b39b4136955122fc90",
      "parents": [
        "a64d4b98b54d6e03db993efa1e0d8bd0ba855f90"
      ],
      "author": {
        "name": "Insun Kang",
        "email": "insun@google.com",
        "time": "Wed Jan 24 15:56:37 2018 +0900"
      },
      "committer": {
        "name": "Insun Kang",
        "email": "insun@google.com",
        "time": "Wed Feb 28 08:45:37 2018 +0000"
      },
      "message": "Unhide VideoView2 APIs\n\nTest: make update-api\nBug: 64293205\nChange-Id: Ie57e3ea78dd623fc095c1ad5f270f3b97320f155\n"
    },
    {
      "commit": "805ea225b9f65206a5296b5cdeb52081e57154f3",
      "tree": "ca6e5d791162e3d74f2cd26402e2dacdf25d6c7c",
      "parents": [
        "7f884975141dae187e8e6bb136fd9002dc06e4b9",
        "c0df1f2354e4350473c08ab5b5920765d0f857e0"
      ],
      "author": {
        "name": "Maurice Lam",
        "email": "yukl@google.com",
        "time": "Wed Feb 28 07:20:36 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 28 07:20:36 2018 +0000"
      },
      "message": "Merge \"Revert \"Small fixes to StatsManager API.\"\""
    },
    {
      "commit": "c3a438f65b24d88059fdc2d5e2432a4cb70e2cfb",
      "tree": "188fd24d866b926bd150322cec913640ee0809ee",
      "parents": [
        "f3f5c320f169e9b0856d39715f3d64218f409cbf"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Feb 27 20:09:10 2018 -0800"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Feb 27 22:53:25 2018 -0800"
      },
      "message": "MediaPlayerBase API\n\nDefine as an abstract class the high level interface for\n  media players. Consumers are MediaSession2, providers\n  are MediaPlayer2, which will extend this class.\n\nBug: 64098437\nTest: to be in MediaPlayer2 tests once it extends MPB\nChange-Id: Id0d0fcb6d1b377a0e05a4a8e3d659e12a58fc45e\n"
    },
    {
      "commit": "7f884975141dae187e8e6bb136fd9002dc06e4b9",
      "tree": "6e4bde999a1e435cdeda36b4f22fe37d94d0230b",
      "parents": [
        "415eae2173bf87521575a5b3d966358f297a3e7d",
        "46a92d90df125cdc5ab131cf4fe795c9c276be90"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 28 06:19:35 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 28 06:19:35 2018 +0000"
      },
      "message": "Merge \"Dynamics Processing Effect\""
    },
    {
      "commit": "a64d4b98b54d6e03db993efa1e0d8bd0ba855f90",
      "tree": "7273864143b70f60f2840470ac7d4d5d453df2d7",
      "parents": [
        "6d925591c48498b93514b8301c8ed3392c30f389"
      ],
      "author": {
        "name": "Jin Seok Park",
        "email": "jinpark@google.com",
        "time": "Wed Jan 24 16:46:44 2018 +0900"
      },
      "committer": {
        "name": "Insun Kang",
        "email": "insun@google.com",
        "time": "Wed Feb 28 05:06:10 2018 +0000"
      },
      "message": "Unhide MediaControlView2 APIs\n\nTest: make update-api\nBug: 64293205\nChange-Id: Ia202a7fc1f8733cc2d95d13e7126916affe4f52e\n"
    },
    {
      "commit": "daeb505e2e2799e59b4638695e95de9d943d846f",
      "tree": "0b9e061e73270f842d47078035cd41ce060bc44e",
      "parents": [
        "8c32954906f0ce7192f25b38154d9dbc18bc508b"
      ],
      "author": {
        "name": "Holly Jiuyu Sun",
        "email": "jiuyu@google.com",
        "time": "Wed Feb 21 20:34:22 2018 -0800"
      },
      "committer": {
        "name": "Holly Jiuyu Sun",
        "email": "jiuyu@google.com",
        "time": "Tue Feb 27 21:00:04 2018 -0800"
      },
      "message": "Mark EUICC_PROVISIONED as @SystemApi.\n\nBug: 35851809\nTest: test on phone\nMerged-In: I1627aeaf6846e889767fb4223c46fa278a751b23\nChange-Id: I1627aeaf6846e889767fb4223c46fa278a751b23\n"
    },
    {
      "commit": "e9113e904628aeef4fe732101c957810a0b2c43d",
      "tree": "6ebee99473df242489da3436ff747550d310b7f0",
      "parents": [
        "99e8972919da38a7981021f949e83be19adcc602",
        "27617a98949f9b1d7ca3a5760304e6837fda589c"
      ],
      "author": {
        "name": "Brad Ebinger",
        "email": "breadley@google.com",
        "time": "Wed Feb 28 04:59:52 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Feb 28 04:59:52 2018 +0000"
      },
      "message": "Merge \"Modify shouldProcessCall API to remove redundancy\" am: 59391aa4a0 am: 8f2c2ca09a\nam: 27617a9894\n\nChange-Id: Id4638c9126cce687bb4513731be2aeb962b2250d\n"
    },
    {
      "commit": "c0df1f2354e4350473c08ab5b5920765d0f857e0",
      "tree": "19de45c83c982a9b355127a8c18bdc41aaa82331",
      "parents": [
        "16dcd33abdc80b3bd4455ec867a32675f66faa13"
      ],
      "author": {
        "name": "Maurice Lam",
        "email": "yukl@google.com",
        "time": "Wed Feb 28 04:17:03 2018 +0000"
      },
      "committer": {
        "name": "Maurice Lam",
        "email": "yukl@google.com",
        "time": "Wed Feb 28 04:17:25 2018 +0000"
      },
      "message": "Revert \"Small fixes to StatsManager API.\"\n\nThis reverts commit 16dcd33abdc80b3bd4455ec867a32675f66faa13.\n\nReason for revert: b/73975175\n\nBug: 73975175\nChange-Id: I5bcccde100900b1370c2e43b8bcfc7d1697e5c72\n"
    },
    {
      "commit": "46a92d90df125cdc5ab131cf4fe795c9c276be90",
      "tree": "7fddac49d3f1dafd769babe11d9fcbdbf54a6e26",
      "parents": [
        "17df7fe107ce5685ebac688c579bd3c8d1ee851c"
      ],
      "author": {
        "name": "rago",
        "email": "rago@google.com",
        "time": "Mon Feb 05 09:38:25 2018 -0800"
      },
      "committer": {
        "name": "Ricardo Garcia",
        "email": "rago@google.com",
        "time": "Wed Feb 28 03:13:45 2018 +0000"
      },
      "message": "Dynamics Processing Effect\n\nAdding Dynamics Processing Effect api and configuration helpers.\n\nBug: 64161702\nBug: 38266419\n\nTest: manual testing and CTS test ag/3662965\nChange-Id: I993e1621011a16596aa00ea049fa8681463e8551\n"
    },
    {
      "commit": "59391aa4a08696be9920e492f0d3e52311dce769",
      "tree": "bf3be5aed7b40838f7ca2b04d54a7b3730bf3e48",
      "parents": [
        "e6691d8e897721e83b7ed6b6df6af63310f5b733",
        "611f996de357ed04fd6dad018e010ba10717b588"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 28 03:02:27 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 28 03:02:27 2018 +0000"
      },
      "message": "Merge \"Modify shouldProcessCall API to remove redundancy\""
    },
    {
      "commit": "bf6edacac900e4f889dde292474e0e3fecb8d689",
      "tree": "46d09a422ca469bad68aa0ac3143933fb4a50898",
      "parents": [
        "5197f9cce0dcf5e8a30290fa9353e46e29ab92cc",
        "e245116af39f58288b3003f221fc0f151b0fea05"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 28 01:21:41 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 28 01:21:41 2018 +0000"
      },
      "message": "Merge \"New attribute textFontWeight for selecting weight in the font family\""
    },
    {
      "commit": "4d64c093cd785e7a53fafe1aaf796ed734d61a02",
      "tree": "5f02b2cd2488164df593cd99c29bf6af0311d205",
      "parents": [
        "f3537c2054e4bfd627dd488e25564e07fb4009da"
      ],
      "author": {
        "name": "Suprabh Shukla",
        "email": "suprabh@google.com",
        "time": "Wed Feb 21 20:06:14 2018 -0800"
      },
      "committer": {
        "name": "Suprabh Shukla",
        "email": "suprabh@google.com",
        "time": "Tue Feb 27 16:48:25 2018 -0800"
      },
      "message": "Added an api to query ForcedAppStandby state\n\nAdding an api which apps can query to check if the user has put them\ninto forced app standby.\nAn app may want to do this to manage expectations for any jobs or alarms\nit schedules. It can also be used as an indication that the user noticed\nunreasonable battery consumption attributed to the app.\n\nTest: atest android.app.cts.ActivityManagerTest#testIsBackgroundRestricted\n\nBug: 73664209\nChange-Id: I870f6c852c500769d3bf99d5a9ba3bf4eb1b65f5\n"
    },
    {
      "commit": "7e96e0a1376ea10d795d50e9790ac96080cea2ed",
      "tree": "aae3034c66c1a5d3a4566810cda83a2e2de542b2",
      "parents": [
        "2016c0f4f6de20411257ed84d4fc1aa3d6226d41",
        "89386bacc61a4478559fd3e6263bb1d2576158c8"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 28 00:39:33 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 28 00:39:33 2018 +0000"
      },
      "message": "Merge \"createAndManageUser should communicate reason of failure to caller\""
    },
    {
      "commit": "3b8957714d7a416c0b01a7ceb3fd797725f9b08f",
      "tree": "9e05b921ff2d699ba134941d1eefd13102aa9a8b",
      "parents": [
        "9e9fc28b73bef44f823f6e65800259918a10182b",
        "31612fde73b10e710f9cab69022cb4ff57628d62"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 28 00:02:59 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 28 00:02:59 2018 +0000"
      },
      "message": "Merge \"Update the RTT features constant.\""
    },
    {
      "commit": "217ccda8ac8f38137882a0f9fefeac8e53dc4ed6",
      "tree": "b2fd48091b0f0252d6063bd77016e3642986e9e1",
      "parents": [
        "f3537c2054e4bfd627dd488e25564e07fb4009da"
      ],
      "author": {
        "name": "Suprabh Shukla",
        "email": "suprabh@google.com",
        "time": "Fri Feb 23 17:57:12 2018 -0800"
      },
      "committer": {
        "name": "Suprabh Shukla",
        "email": "suprabh@google.com",
        "time": "Tue Feb 27 15:45:05 2018 -0800"
      },
      "message": "An api to query usage events for the caller\n\nAdded an api which apps can query to find out about their own usage\nevents. This is useful in understanding the apps historical bucket\nchanges.\n\nTest: atest android.app.usage.cts.UsageStatsTest#testQueryEventsForSelf\n\nFixes: 71906213\nChange-Id: Ie6144cfe515fd0748a317835918a9d8cf1aea007\n"
    },
    {
      "commit": "15739d309966ef8453b7c59cc1ef622e2f5eca93",
      "tree": "c482320e7bf7442ef2e4ed16ba06bbc87ff33615",
      "parents": [
        "03b91d77c4eccd2d088a12e6fe747240a09b573d",
        "d60e07f04fc85f21fe357930c84c90ec666a7c6e"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@google.com",
        "time": "Tue Feb 27 23:10:44 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 27 23:10:44 2018 +0000"
      },
      "message": "Merge \"Add explicit method to clear clipboard.\""
    },
    {
      "commit": "7b0b97a42ae4e72e1b2285524db8cfc0442e8b81",
      "tree": "6c22406ae6997200f473b21e2ad8eba8e3948c68",
      "parents": [
        "465f2c7b40ab23338ed047f020b8727404003d86"
      ],
      "author": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Tue Feb 27 13:34:42 2018 -0500"
      },
      "committer": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Tue Feb 27 18:02:23 2018 -0500"
      },
      "message": "Add APIs to look into whats in an Icon\n\nTest: cts\nBug: 73943728\nChange-Id: Iefbb4cecad5dd4abfcfc4d2085b0df6b62392305\n"
    },
    {
      "commit": "ecd5c4a8f794617172c220dab51f63e690f382d5",
      "tree": "c76a8d5ab37649ac17d4f02c3ac81762a6f39318",
      "parents": [
        "195599663ad221aca06a80c8f4e41b61f984b7f2",
        "16dcd33abdc80b3bd4455ec867a32675f66faa13"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Feb 27 22:39:15 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 27 22:39:15 2018 +0000"
      },
      "message": "Merge \"Small fixes to StatsManager API.\""
    },
    {
      "commit": "e23ece0212bb9f4b4538291e7c74f1d36ed8437c",
      "tree": "be8256c011d72d17a8ca3d01181afd3a26db2b6d",
      "parents": [
        "389f6d6ac9d5023716d74c04503767d83c093849",
        "b85013a8844cbf4ac4e6fa0086cd8a5256c668e2"
      ],
      "author": {
        "name": "Jiuyu Sun",
        "email": "jiuyu@google.com",
        "time": "Tue Feb 27 22:04:15 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 27 22:04:15 2018 +0000"
      },
      "message": "Merge \"Mark EUICC_PROVISIONED as @SystemApi.\""
    },
    {
      "commit": "e245116af39f58288b3003f221fc0f151b0fea05",
      "tree": "8628b5349189016eb0f2ef505f7cb33c404a86d7",
      "parents": [
        "f42a1080d51887fdffcec1da3de3cdd9ab8ab93c"
      ],
      "author": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Thu Feb 22 11:26:39 2018 -0800"
      },
      "committer": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Tue Feb 27 11:39:13 2018 -0800"
      },
      "message": "New attribute textFontWeight for selecting weight in the font family\n\nNote that AppCompatTextView doesn\u0027t work well with this attribute since\nit overwrites the selected Typeface.\n\nBug: 63135308\nTest: atest android.widget.cts.TextViewFontWeightTest\nChange-Id: I76ee5e3007ea5f96249d2a0bfb66ff5975c62522\n"
    },
    {
      "commit": "1b9877ab44a45542300adcd3f8a2f84c1d0933cc",
      "tree": "9e3ed836b2793c9819bd0a3738b7dd619b01e724",
      "parents": [
        "6611f83f5ce645954ca9a41d579d147be2178813"
      ],
      "author": {
        "name": "Annie Meng",
        "email": "anniemeng@google.com",
        "time": "Tue Feb 20 12:06:56 2018 +0000"
      },
      "committer": {
        "name": "Annie Meng",
        "email": "anniemeng@google.com",
        "time": "Tue Feb 27 15:17:56 2018 +0000"
      },
      "message": "Move transport constant to BackupTransport API\n\nPreviously, the transport registration extra was a private\nconstant. Since GMSCore depends on this value being passed, moving\nit to a public API prevents having to define it twice in\nframework and GMSCore, and ensures compatibility between the two.\n\nTODO: Update GMSCore with this constant once this drops\ninto GMSCore.\n\nBug: 72730566\nTest: 1) m -j ROBOTEST_FILTER\u003dTransportManagerTest RunFrameworksServicesRoboTests\n2) m -j ROBOTEST_FILTER\u003dTransportClientManagerTest RunFrameworksServicesRoboTests\n\nChange-Id: I8f7a2ca0275047a5d3cc1a530cd86499d0170f2f\n"
    },
    {
      "commit": "89386bacc61a4478559fd3e6263bb1d2576158c8",
      "tree": "578c11cf1cfc2963337e4d079ae4af13576c2000",
      "parents": [
        "be012484702739bb85b388bf6ab247fd4a0cafc0"
      ],
      "author": {
        "name": "Alex Chau",
        "email": "alexchau@google.com",
        "time": "Tue Feb 13 11:09:17 2018 +0800"
      },
      "committer": {
        "name": "Alex Chau",
        "email": "alexchau@google.com",
        "time": "Tue Feb 27 09:12:45 2018 +0000"
      },
      "message": "createAndManageUser should communicate reason of failure to caller\n\nBug: 71844474\nTest: cts-tradefed run singleCommand cts -m CtsDevicePolicyManagerTestCases --test com.android.cts.devicepolicy.DeviceOwnerTest#testCreateAndManageUser_LowStorage\nTest: cts-tradefed run singleCommand cts -m CtsDevicePolicyManagerTestCases --test com.android.cts.devicepolicy.DeviceOwnerTest#testCreateAndManageUser_MaxUsers\nChange-Id: I3c069ba86822178fa3f51f1d31cd4792883151cc\n"
    },
    {
      "commit": "786c3abe9328a3ec089270e7fb19f2f600e514cb",
      "tree": "cc0dc8077b79b74255d80c6a69be3ec4e3b758c1",
      "parents": [
        "f75cd84398dab1c1a6aa23d450125cfe5bc70abe",
        "55295f2d0c1272efc5040a24b708e924285a47b6"
      ],
      "author": {
        "name": "Mohamed Abdalkader",
        "email": "abdalkader@google.com",
        "time": "Tue Feb 27 04:22:47 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Feb 27 04:22:47 2018 +0000"
      },
      "message": "Merge \"Add more sms error codes\" am: c16da498d5 am: 8a9d38fbbc\nam: 55295f2d0c\n\nChange-Id: I63e8d4ea85aeda6927418bf42362397fa8e7ffb7\n"
    },
    {
      "commit": "c16da498d509a0e529392e03a985efac2cfe20fc",
      "tree": "16d36c62c678a89ae4b6d8119f10f53e3a89bfd7",
      "parents": [
        "d676c5c13416ec45d1d5f6ca31e558395f8309af",
        "1ff8e3412867f63206982f838bb580fec62db5da"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Feb 27 02:48:31 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 27 02:48:31 2018 +0000"
      },
      "message": "Merge \"Add more sms error codes\""
    },
    {
      "commit": "83e0574c03164c0821d1d4cdc8c3ee371d9ee57f",
      "tree": "b7a7314e260cd655c8a82c68347265c1b2d04f83",
      "parents": [
        "162ff7bd783b8dfcea4636a9b675d87314d5bf1d",
        "6cc1a5de46ec18172d75ac589dbe8b306d0fb8d2"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Tue Feb 27 02:07:59 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 27 02:07:59 2018 +0000"
      },
      "message": "Merge \"MediaSession2: Unhide APIs\""
    },
    {
      "commit": "6cc1a5de46ec18172d75ac589dbe8b306d0fb8d2",
      "tree": "ce867bce3dcb62af0829e7012f5180ebf0883242",
      "parents": [
        "c44d5053f2d40704634a0160facb31518e39ca23"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Thu Feb 22 20:46:17 2018 +0900"
      },
      "committer": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Tue Feb 27 09:58:03 2018 +0900"
      },
      "message": "MediaSession2: Unhide APIs\n\nBug: 64098437\nTest: make update-api\nChange-Id: Ib73a32b422502cef324869356d56acaa7c48b219\n"
    },
    {
      "commit": "a725df9903122591cc2c1e7ce082a8299567d69e",
      "tree": "73a2a49eb9de553915f2d41f7c677226a7265751",
      "parents": [
        "2102bf638603e8613a8f8951843c251b2a229203"
      ],
      "author": {
        "name": "Vladislav Kaznacheev",
        "email": "kaznacheev@google.com",
        "time": "Mon Feb 26 16:22:34 2018 -0800"
      },
      "committer": {
        "name": "Vladislav Kaznacheev",
        "email": "kaznacheev@google.com",
        "time": "Mon Feb 26 16:22:34 2018 -0800"
      },
      "message": "Add ViewConfiguration.shouldShowMenuShortcutsWhenKeyboardPresent\n\nThis method returns config_showMenuShortcutsWhenKeyboardPresent value.\nIt is necessary for the correct support library implementation of menus.\n\nBug: 31045453\nTest: build and flash Android\nChange-Id: Ibdd354b2d00f0c5f5ed91aa4840e942d772516ef\n"
    }
  ],
  "next": "d60e07f04fc85f21fe357930c84c90ec666a7c6e"
}
