)]}'
{
  "log": [
    {
      "commit": "81c1b87234bdab435259acd355ba2df4730da3ce",
      "tree": "cd1dfd9e10026a879b4c8d9f9ca1bcbff4ccd676",
      "parents": [
        "218f8e3bec0070731bff41513b19f64d481dad24"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Thu Feb 22 21:52:59 2018 +0900"
      },
      "committer": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Mon Feb 26 23:56:56 2018 +0900"
      },
      "message": "MediaSession2: Unhide APIs\n\nBug: 64098437\nTest: make update-api\nChange-Id: Ifb0f76f3a75b099485392e2b137cca39e1f35d0a\n"
    },
    {
      "commit": "218f8e3bec0070731bff41513b19f64d481dad24",
      "tree": "28499c0b4ec90efc56fff5a2faaf13057f8648bb",
      "parents": [
        "d89b871a64b2ae037e46a7fd6441387ad2928533",
        "87ed6334338c686a41113ec97818d96879c3c0e1"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Mon Feb 26 14:50:48 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 26 14:50:48 2018 +0000"
      },
      "message": "Merge \"MediaMetadata2: Add radio frequency and callsigns\""
    },
    {
      "commit": "d89b871a64b2ae037e46a7fd6441387ad2928533",
      "tree": "dcd1ad20a5f902d8bcb5b1d390335cb07dbaa099",
      "parents": [
        "4e16cbf73f08f1c4525021efea473d48814cc7de",
        "f8cdcb8311f14f8df081f4ac1fffe50e6c6decf8"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Feb 26 14:38:19 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 26 14:38:19 2018 +0000"
      },
      "message": "Merge \"MediaControlView2: Add UX for Settings\""
    },
    {
      "commit": "87ed6334338c686a41113ec97818d96879c3c0e1",
      "tree": "83a5d2fb386f801d46a5a1139ef74bf2c387801d",
      "parents": [
        "4e16cbf73f08f1c4525021efea473d48814cc7de"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Thu Feb 22 16:47:40 2018 +0900"
      },
      "committer": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Mon Feb 26 22:36:53 2018 +0900"
      },
      "message": "MediaMetadata2: Add radio frequency and callsigns\n\nThis is request from the Android Auto Embeded, where the Android is\nrunning on the car kit and needs support radio application\n\nTest: Run all MediaComponents tests once\nChange-Id: I7a38cd41aa1d37162d4b494fdbbe45a46a556463\n"
    },
    {
      "commit": "4e16cbf73f08f1c4525021efea473d48814cc7de",
      "tree": "04012c56db9b2c7aae2e1772aac31a5028a3e889",
      "parents": [
        "ac7c7dbd519edb31eff023c651a53ae788dc0d82",
        "e38637402cf0426808f77b47483b83096112be5f"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Feb 26 11:58:16 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 26 11:58:16 2018 +0000"
      },
      "message": "Merge \"Remove MediaSession2Record\""
    },
    {
      "commit": "e38637402cf0426808f77b47483b83096112be5f",
      "tree": "f66bc6ba1b450584e993baee94250ba4f29e361f",
      "parents": [
        "643825e4943995bbefd13d55c58bffd5e6904e90"
      ],
      "author": {
        "name": "Sungsoo Lim",
        "email": "sungsoo@google.com",
        "time": "Wed Feb 14 13:59:28 2018 +0900"
      },
      "committer": {
        "name": "Sungsoo Lim",
        "email": "sungsoo@google.com",
        "time": "Mon Feb 26 19:21:17 2018 +0900"
      },
      "message": "Remove MediaSession2Record\n\nTest: passed MediaComponentsTest\nChange-Id: Iec56106877da82ba7466a83ac26727e2498bae23\n"
    },
    {
      "commit": "f8cdcb8311f14f8df081f4ac1fffe50e6c6decf8",
      "tree": "334497a820643c23769f6334478c61e016b2a78e",
      "parents": [
        "c9969aff776321b0319d1447d88dd71855413c73"
      ],
      "author": {
        "name": "Jin Seok Park",
        "email": "jinpark@google.com",
        "time": "Tue Feb 13 15:25:58 2018 +0900"
      },
      "committer": {
        "name": "Jin Seok Park",
        "email": "jinpark@google.com",
        "time": "Mon Feb 26 17:41:41 2018 +0900"
      },
      "message": "MediaControlView2: Add UX for Settings\n\nThis CL adds the UX for Settings by using ListView. The next CL\nwill include updating the data dynamically.\n\nBug: 73703113\nTest: manually run VideoViewTest.apk\nChange-Id: Iff0677cbabc2965ccc72275b58592355557e4ac0\n"
    },
    {
      "commit": "ac7c7dbd519edb31eff023c651a53ae788dc0d82",
      "tree": "6c0608970bdf8e8867e63402ea475ff1b6c0f060",
      "parents": [
        "643825e4943995bbefd13d55c58bffd5e6904e90"
      ],
      "author": {
        "name": "Hyundo Moon",
        "email": "hdmoon@google.com",
        "time": "Thu Feb 22 17:10:34 2018 +0900"
      },
      "committer": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Mon Feb 26 11:07:41 2018 +0900"
      },
      "message": "MediaBrowser2: Fix naming inconsistencies\n\nThis CL modifies following APIs:\n\n1. getLibraryRoot() related\n - onGetRoot \u003d\u003e onGetLibraryRoot\n - onGetRootResult \u003d\u003e onGetLibraryRootDone\n\n2. getItem() related\n - onLoadItem \u003d\u003e onGetItem\n   - Also renamed argument: itemId \u003d\u003e mediaId\n - onItemLoaded \u003d\u003e onGetItemDone\n\n3. getChildren() related\n - notifyChildrenChanged/onChildrenChanged\n   - Renamed argument: childCount \u003d\u003e itemCount\n - onLoadChildren \u003d\u003e onGetChildren\n - onChildrenLoaded \u003d\u003e onGetChildrenDone\n\n4. getSearchResult() related\n - onLoadSearchResult \u003d\u003e onGetSearchResult\n - onSearchResultLoaded \u003d\u003e onGetSearchResultDone\n\nBug: 73711101\nTest: Passed MediaBrowser2Test\nChange-Id: I7f59686e21f4de9d4512cd19067c944e49faad39\n"
    },
    {
      "commit": "c9969aff776321b0319d1447d88dd71855413c73",
      "tree": "a4bddef4e7542913da146aa6d5ec2f3c8595de25",
      "parents": [
        "467af1dd89332bf711bfba43a7a09474ff30157b"
      ],
      "author": {
        "name": "Jin Seok Park",
        "email": "jinpark@google.com",
        "time": "Fri Feb 09 16:49:09 2018 +0900"
      },
      "committer": {
        "name": "Jin Seok Park",
        "email": "jinpark@google.com",
        "time": "Fri Feb 23 05:34:05 2018 +0000"
      },
      "message": "MediaControlView2: Add Support for Ad\n\nThis CL adds additional UX for showing the remaining time and the\nunskippable time. Also disable NEXT button for the first 5 seconds\nand disable SEEK throughout the whole duration of the advertisement.\n\nAlso, this CL adds a listener to TitleBar so that when the layout of\nVideoView2 is changed the layouts of the TitleBar is also changed to\navoid overlapping text.\n\nBug: 73136129\nTest: run VideoViewTest.apk\nChange-Id: Ic91b3f285343f4b6bbca2900ce499fb1f0d54bf6\n"
    },
    {
      "commit": "38ff0001bf84583a3144e977d939a3896273dd4a",
      "tree": "a403b94a667188ee1ab54c2f33ed2d72d1cffe61",
      "parents": [
        "9f303ea2df9d0f51ce661fe32384c60ed6f62d53"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Mon Feb 19 20:40:42 2018 +0900"
      },
      "committer": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Thu Feb 22 02:04:21 2018 +0900"
      },
      "message": "MediaSession2: Add a way to notify errors between session and player\n\nThis is proposed during the offline meeting\n\nTest: Run all MediaComponents tests once\nChange-Id: I2cbd980275bf88af840eb9f1933363c3ad8ff2e3\n"
    },
    {
      "commit": "9f303ea2df9d0f51ce661fe32384c60ed6f62d53",
      "tree": "818a6207d11d6ea88fc1a7932aa9fbda2cb389f4",
      "parents": [
        "4ae300c57e84feca3992bf9b1bf5f319549df1d0"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Mon Feb 19 17:47:55 2018 +0900"
      },
      "committer": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Thu Feb 22 02:03:49 2018 +0900"
      },
      "message": "MediaSession2: Implement MediaLibrarySession#notifyChildrenChanged()\n\nTest: Run all MediaComponents tests once\nBug: 72787989\nChange-Id: If9dd119667e74cc7c77288f3777be551b02ca462\n"
    },
    {
      "commit": "4ae300c57e84feca3992bf9b1bf5f319549df1d0",
      "tree": "4554f5a5efc21972142ad80262be7cdcba92ef11",
      "parents": [
        "1de57c63e9d29730815f1969a9cf19c8cc39d4d4"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Mon Feb 19 15:03:59 2018 +0900"
      },
      "committer": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Thu Feb 22 02:03:04 2018 +0900"
      },
      "message": "MediaSession2: Implement subscribe/unsubscribe\n\nBug: 72786292\nTest: Run all MediaComponents tests\nChange-Id: Ie6ea4a3cec2c31961de4e0ba618a254023f1ee2e\n"
    },
    {
      "commit": "1de57c63e9d29730815f1969a9cf19c8cc39d4d4",
      "tree": "3d805cfb1d4b71ed60134283abb1c9a9c37c8fc9",
      "parents": [
        "1d64b51f3ee015b668cdce2948386240b2b0c3a5"
      ],
      "author": {
        "name": "Hyundo Moon",
        "email": "hdmoon@google.com",
        "time": "Wed Feb 21 15:29:52 2018 +0900"
      },
      "committer": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Thu Feb 22 02:02:58 2018 +0900"
      },
      "message": "MediaSession2: Remove rating style from session\n\nBug: 73615699\nTest: Passed MediaController2Test\nChange-Id: I6656c81f0b251adb80d3fb93c7c897a595dc8649\n"
    },
    {
      "commit": "1d64b51f3ee015b668cdce2948386240b2b0c3a5",
      "tree": "f4b748ef17daabc83bd058a032be18fefa69bcf0",
      "parents": [
        "048fdab04ae255ff347299d0e714f4f3201f97a9",
        "3b587ea61221604584e74b1929225341280b22ec"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 21 16:32:37 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 21 16:32:37 2018 +0000"
      },
      "message": "Merge \"MediaSession2: Remove SessionPlayer2\""
    },
    {
      "commit": "048fdab04ae255ff347299d0e714f4f3201f97a9",
      "tree": "92f101bb07a1935eec24b1a660c358e426d767a2",
      "parents": [
        "73ad28c7a9a27f00cb154d77f0388f2a7d13076b"
      ],
      "author": {
        "name": "Hyundo Moon",
        "email": "hdmoon@google.com",
        "time": "Wed Feb 21 19:10:15 2018 +0900"
      },
      "committer": {
        "name": "Hyundo Moon",
        "email": "hdmoon@google.com",
        "time": "Wed Feb 21 19:46:15 2018 +0900"
      },
      "message": "MediaBrowser2: Rearrange API arguments in relevant order\n\nTest: Passed MediaBrowser2Test\nChange-Id: I466f17c33a89c483ae3f3ff28a03984e516b5868\n"
    },
    {
      "commit": "3b587ea61221604584e74b1929225341280b22ec",
      "tree": "421c3cdd74eb5365062cdd0be6a450c02a61d98f",
      "parents": [
        "73ad28c7a9a27f00cb154d77f0388f2a7d13076b"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Wed Feb 21 18:51:10 2018 +0900"
      },
      "committer": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Wed Feb 21 18:51:10 2018 +0900"
      },
      "message": "MediaSession2: Remove SessionPlayer2\n\nMediaPlayer2 will provide implementation of MediaPlayerInterface\n\nTest: Run all MediaComponents test once\nChange-Id: Ib00ef954fcc6aea080a40d92f59f8fb67f71a020\n"
    },
    {
      "commit": "5b0c25fc17415b09f4838de65a003b83b61292e9",
      "tree": "e99cc4e6764055a3affd6517c98d53a40a75a012",
      "parents": [
        "eaf29912e82a3e93024d414761b9e468e60d60c3",
        "546a99d28b76740a13df41c4392d3a7e8227152a"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 21 03:41:55 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 21 03:41:55 2018 +0000"
      },
      "message": "Merge \"MediaLibrarySession: Add notifySearchResultChanged\""
    },
    {
      "commit": "eaf29912e82a3e93024d414761b9e468e60d60c3",
      "tree": "b7c6490e392d09aa5222d7a70e503a342ed6e5b8",
      "parents": [
        "8b1198da31ba7a8e1a178cf12268c84ce0e9c529",
        "af063f1179a5046c13b55710a42aaba993e19fcb"
      ],
      "author": {
        "name": "Hyundo Moon",
        "email": "hdmoon@google.com",
        "time": "Wed Feb 21 01:35:40 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 21 01:35:40 2018 +0000"
      },
      "message": "Merge \"MediaController2: Implement setRating()\""
    },
    {
      "commit": "546a99d28b76740a13df41c4392d3a7e8227152a",
      "tree": "05f226779557652beefcdae061d98e1188418966",
      "parents": [
        "bc05249d386b29b24607af23c7d541d48047b729"
      ],
      "author": {
        "name": "Hyundo Moon",
        "email": "hdmoon@google.com",
        "time": "Wed Feb 14 11:23:00 2018 +0900"
      },
      "committer": {
        "name": "Hyundo Moon",
        "email": "hdmoon@google.com",
        "time": "Tue Feb 20 14:12:54 2018 +0900"
      },
      "message": "MediaLibrarySession: Add notifySearchResultChanged\n\nThis CL also adds tests for search()/getSearchResult().\n\nBug: 72786724\nTest: Passed MediaBrowser2Test\nChange-Id: I3b232e1f959aa2d56fdc1caa46bf8d2775262bf1\n"
    },
    {
      "commit": "0c4a83577120afa4b5877a49f9765900746ffb4f",
      "tree": "4d9e2d388b078efcd54663a8eeb2618ecbbd8d89",
      "parents": [
        "7c9dbd5440e8119ca439e4b9315843bd348b991f"
      ],
      "author": {
        "name": "Insun Kang",
        "email": "insun@google.com",
        "time": "Mon Feb 19 19:01:11 2018 +0900"
      },
      "committer": {
        "name": "Insun Kang",
        "email": "insun@google.com",
        "time": "Mon Feb 19 19:01:11 2018 +0900"
      },
      "message": "VideoView2: Remove redundant listeners\n\nBug: 73598418\nTest: build\nChange-Id: Id3fcaa31375c815729af7e4080d7d34903ba68c7\n"
    },
    {
      "commit": "7c9dbd5440e8119ca439e4b9315843bd348b991f",
      "tree": "ba7ba4d9680d0a5e457a11838d6e70235021edb0",
      "parents": [
        "e7e6c5a82245d27625d6ff4e131515bb8a27aa17",
        "479c5da9a621964828562c43c52b1520d39ac47d"
      ],
      "author": {
        "name": "Insun Kang",
        "email": "insun@google.com",
        "time": "Mon Feb 19 09:04:06 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 19 09:04:06 2018 +0000"
      },
      "message": "Merge \"VideoView2: Call listeners with Executor\""
    },
    {
      "commit": "af063f1179a5046c13b55710a42aaba993e19fcb",
      "tree": "586b9a4521d457fa731a198cfdad408c84e8ebac",
      "parents": [
        "bc05249d386b29b24607af23c7d541d48047b729"
      ],
      "author": {
        "name": "Hyundo Moon",
        "email": "hdmoon@google.com",
        "time": "Mon Feb 19 14:51:24 2018 +0900"
      },
      "committer": {
        "name": "Hyundo Moon",
        "email": "hdmoon@google.com",
        "time": "Mon Feb 19 16:21:05 2018 +0900"
      },
      "message": "MediaController2: Implement setRating()\n\nBug: 73146284\nTest: Passed MediaController2Test\nChange-Id: I639d410c610aaf7ad7c953851aad5db9fc87d65a\n"
    },
    {
      "commit": "e7e6c5a82245d27625d6ff4e131515bb8a27aa17",
      "tree": "a7ca87225edaf4b2fd4cef0f9cf3037bca44644c",
      "parents": [
        "f1b411c5dd2570b9b5b79f497cf87d50b354a33a"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Mon Feb 19 14:25:26 2018 +0900"
      },
      "committer": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Mon Feb 19 14:25:26 2018 +0900"
      },
      "message": "MediaSession2 test: Close sessions after uses\n\nThis fixes following test failure\nMediaController2Test#testConnectToService_libraryService\n\nTest: Confirmed that the test now success\nChange-Id: Ie8c4d6a896a02a81a7167a8f9eee3306a8443f8d\n"
    },
    {
      "commit": "f1b411c5dd2570b9b5b79f497cf87d50b354a33a",
      "tree": "ed8fe86a37931c07b240efa9ac2340d3755e2e06",
      "parents": [
        "cc120dd6edf846f900d8ffa0c226196ca960479a"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Mon Feb 19 14:24:28 2018 +0900"
      },
      "committer": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Mon Feb 19 14:24:28 2018 +0900"
      },
      "message": "MediaSession2: Don\u0027t reject connection requests from trusted apps\n\nThis also fixes following test failure\nMediaSessionmanager_MediaSession2#testGetSessionTokens_sessionRejected\n\nTest: Confirmed that the test now success\nChange-Id: Iffd4f10c78cf341e5c8ef63fe21a30f6a6562343\n"
    },
    {
      "commit": "cc120dd6edf846f900d8ffa0c226196ca960479a",
      "tree": "5f348515feaedade267271657a1b249a15d1b45d",
      "parents": [
        "bc05249d386b29b24607af23c7d541d48047b729"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Tue Feb 13 22:05:37 2018 +0900"
      },
      "committer": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Mon Feb 19 14:22:59 2018 +0900"
      },
      "message": "MediaSession2: Re-enable MediaSessionManager releated tests\n\nSome tests were  previously disabled because the server didn\u0027t recognize\ntest apk installation. Re-enable those tests.\n\nSome tests were broken while they had been hidden, and later CLs will\nfix failures.\n\nBug: 72613128\nTest: Run all MediaComponents tests. Following failures will be fixed\n      in next CLs\n        - MediaSessionmanager_MediaSession2\n            #testGetSessionTokens_sessionRejected\n        - MediaController2Test#testConnectToService_libraryService\nChange-Id: Ib312aa55403f9ba67644389873c009b7e31c0b00\n"
    },
    {
      "commit": "479c5da9a621964828562c43c52b1520d39ac47d",
      "tree": "91d121583dc8efedd6345e53f4877dfe0f047777",
      "parents": [
        "d8d4ef440fe25095d34e535e591edd8fa1457307"
      ],
      "author": {
        "name": "Insun Kang",
        "email": "insun@google.com",
        "time": "Mon Feb 12 20:29:46 2018 +0900"
      },
      "committer": {
        "name": "Insun Kang",
        "email": "insun@google.com",
        "time": "Mon Feb 19 11:23:12 2018 +0900"
      },
      "message": "VideoView2: Call listeners with Executor\n\nBug: 72721602\nTest: build\nChange-Id: Iebd611e1d0169caec712530e01935fa75096102d\n"
    },
    {
      "commit": "eb9d054a490afad6abf0b2e1dfa969196600338f",
      "tree": "45161cc024c0e2d77ab42695f04efcbd7aaf4e0d",
      "parents": [
        "248c4892bceb529573a0514e603a95ff36fadd38",
        "bd396d85b6fb4ab8ad25c403ba06789a55edb020"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 14 08:07:11 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 14 08:07:11 2018 +0000"
      },
      "message": "Merge \"MediaSession2: Remove initialization in library session impl constructor\""
    },
    {
      "commit": "bd396d85b6fb4ab8ad25c403ba06789a55edb020",
      "tree": "7ec1647f91df14c33959e5fde33c6432f7a7a485",
      "parents": [
        "e4767e3911d3e31c31ab558819a9e8960dbbbdd6"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Wed Feb 14 15:11:43 2018 +0900"
      },
      "committer": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Wed Feb 14 15:20:28 2018 +0900"
      },
      "message": "MediaSession2: Remove initialization in library session impl constructor\n\nThis fixes crash when framework tries to connect to the library session\nimpl when the session\u0027s super constructor is finished but mCallback\nisn\u0027t set yet.\n\nBug: 73327626\nTest: Run all MediaComponents test once\nChange-Id: I42776925fc45b907072c39bc6dbc0dc86a896e0f\n"
    },
    {
      "commit": "f62d73ab511d4268d137c7f072976b7077838b78",
      "tree": "c39007c83ad2df044c4ac294181ddc238f9c6d86",
      "parents": [
        "acdc3e6774af93fb946888638e80dff97daf04df",
        "887adabbe26479b216f976095d3cd0d8cc4b9a49"
      ],
      "author": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Wed Feb 14 01:49:07 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 14 01:49:07 2018 +0000"
      },
      "message": "Merge \"Fix PDK build\""
    },
    {
      "commit": "887adabbe26479b216f976095d3cd0d8cc4b9a49",
      "tree": "6eff9fab800ceebba4d6520d82255e61566aec55",
      "parents": [
        "57c91e1e527e271fb8fc385d672922c4c8261424"
      ],
      "author": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Tue Feb 13 18:30:25 2018 +0800"
      },
      "committer": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Tue Feb 13 19:09:34 2018 +0800"
      },
      "message": "Fix PDK build\n\nThis commit disables \"MediaComponents\" in PDK builds because\n\"MediaComponents\" depends on classes from \"frameworks/base/core/java\"\nwhich are not in PDK builds as well.\n\nTest: Build a target (described in http://b/72961456) with\n`platform.zip` built from master FSK source tree.\n\nBug: 72961456\nChange-Id: I79ff96b84d8d7865c83b186490f7587d2a89fbdc\n"
    },
    {
      "commit": "e4767e3911d3e31c31ab558819a9e8960dbbbdd6",
      "tree": "35dc593d001c34a9380b78e82f718bbfe5da0501",
      "parents": [
        "1a8cac04007e9dadf26a09249e4edbd003999116",
        "2f60a419d2a886ddbfa8e174c31303a91b017f12"
      ],
      "author": {
        "name": "Hyundo Moon",
        "email": "hdmoon@google.com",
        "time": "Tue Feb 13 10:52:06 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 13 10:52:06 2018 +0000"
      },
      "message": "Merge \"MediaBrowser2: Implement search()/getSearchResult()\""
    },
    {
      "commit": "1a8cac04007e9dadf26a09249e4edbd003999116",
      "tree": "3c06a11da362308b2073bbb65411495a039dff5a",
      "parents": [
        "5f23b9982bdcc62ce6125c1179aa40348c31371d",
        "9ddc2096deaae0fa940d1d80d0f415ddb1ba32b8"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Feb 13 08:15:55 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 13 08:15:55 2018 +0000"
      },
      "message": "Merge \"MediaSession2: Fix bug in SessionToken2 constructor\""
    },
    {
      "commit": "2f60a419d2a886ddbfa8e174c31303a91b017f12",
      "tree": "296e69aacdbda1868586b2701577c7ffdf737df6",
      "parents": [
        "e65b694a101ae6dd0386f48ac3cc9548c8991242"
      ],
      "author": {
        "name": "Hyundo Moon",
        "email": "hdmoon@google.com",
        "time": "Tue Feb 13 11:16:47 2018 +0900"
      },
      "committer": {
        "name": "Hyundo Moon",
        "email": "hdmoon@google.com",
        "time": "Tue Feb 13 17:13:12 2018 +0900"
      },
      "message": "MediaBrowser2: Implement search()/getSearchResult()\n\nThis CL also fixes conflicting @NonNull/@Nullable annotations in\nMediaItem2 methods.\n\nBug: 72786724\nTest: Builds successfully\nChange-Id: Ib35282b7cefc7133a3ab8477174507000b1954de\n"
    },
    {
      "commit": "9ddc2096deaae0fa940d1d80d0f415ddb1ba32b8",
      "tree": "c3e137d68c07a21e04ee26387cef286bb8bc9b6a",
      "parents": [
        "31832c60d57558c2d5ddb2e45e4c6111ce9e55bb"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Tue Feb 13 11:09:08 2018 +0900"
      },
      "committer": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Tue Feb 13 15:21:07 2018 +0900"
      },
      "message": "MediaSession2: Fix bug in SessionToken2 constructor\n\nThere\u0027s a bug in SessionToken2 constructor that session service is\nmisunderstood as library service. It\u0027s because\nPackageManager.resolveService(Intent, int) ignores action in the intent\nif the class name is specified, and there\u0027s no way for getting the\naction from the ResolvedInfo.\n\nUse PackageManager.queryIntentServices(Intent, int) instead to query\nservices with the action.\n\nAlso added tests and fixed ID mismatch issue in test service.\n\nTest: Run all MediaComponents tests once\nChange-Id: I5df2f36eae8100be268629881122f47e44eb41d1\n"
    },
    {
      "commit": "405b3c70ccf6c6671fbbe72557a8493e4e0f6097",
      "tree": "9c74c7c59512cc2dd84abebc3cb64492208064a5",
      "parents": [
        "e65b694a101ae6dd0386f48ac3cc9548c8991242",
        "c49998bbfe25cdcffda10efc4ae5760e5a422bce"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Feb 13 05:11:00 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 13 05:11:00 2018 +0000"
      },
      "message": "Merge \"MediaSession2: Code cleanup for setPlayer\""
    },
    {
      "commit": "dc71b3ccd7326d78632215fe96e7c135381447e9",
      "tree": "946fc1e1321afac04cde0b47652a5f22bae3f1e4",
      "parents": [
        "4d4a2704c7610e7d4a92a74e57cd24db8b185a2f",
        "32ecc4f76d856dcd56ab6e2e2f272fddd17c0267"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Feb 13 04:44:03 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 13 04:44:03 2018 +0000"
      },
      "message": "Merge \"MediaSession2: Allow setting session callback for test session services\""
    },
    {
      "commit": "4d4a2704c7610e7d4a92a74e57cd24db8b185a2f",
      "tree": "55013bf07c12c4d2d34ce89e6792d9459c68f233",
      "parents": [
        "57c91e1e527e271fb8fc385d672922c4c8261424",
        "7fb4b55b3a27cadde989630ff01f307b830ff111"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Feb 13 04:40:37 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 13 04:40:37 2018 +0000"
      },
      "message": "Merge \"MediaSession2: Fix flaky test failure with \u0027player isn\u0027t set\u0027\""
    },
    {
      "commit": "46bf6bdab5a6f41ff42107907906647417edab7c",
      "tree": "df3e9544e516a2e2730c0b56e9854d76b8957dc5",
      "parents": [
        "c91ac47d242dc269f342edb470d738447fe25486",
        "785d2f41ea05d9372fe7e06a76c58661f9727db3"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Feb 13 03:13:11 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 13 03:13:11 2018 +0000"
      },
      "message": "Merge \"MediaBrowser2: Implement getItem/getChildren\""
    },
    {
      "commit": "7fb4b55b3a27cadde989630ff01f307b830ff111",
      "tree": "6c58e597f6aa3c27835a23eeea96c0f49dd89eac",
      "parents": [
        "7a498a96c082fd6baee468261128e9f0080ef2df"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Mon Feb 12 17:33:07 2018 +0900"
      },
      "committer": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Tue Feb 13 11:18:51 2018 +0900"
      },
      "message": "MediaSession2: Fix flaky test failure with \u0027player isn\u0027t set\u0027\n\nTest: Run all tests 50 times\nChange-Id: I5ecb6f0a9bf51389da4478bbaf02f021913ce7e6\n"
    },
    {
      "commit": "31832c60d57558c2d5ddb2e45e4c6111ce9e55bb",
      "tree": "64351bb9d7d0da9d5e85bea2fbd63c5612bad09c",
      "parents": [
        "a9eaa7cdb4c426e2e84563b0bbb305ad8cfe7abc",
        "7b63e9d8cc9c33bda8623c12e86ea6cb8e1f618f"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Tue Feb 13 01:40:00 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 13 01:40:00 2018 +0000"
      },
      "message": "Merge \"MediaSession2: Fix bug in runtest.sh for finding test apk\""
    },
    {
      "commit": "785d2f41ea05d9372fe7e06a76c58661f9727db3",
      "tree": "4b2e2e2e80b032d45bcede4518320e72ccfb4918",
      "parents": [
        "a9eaa7cdb4c426e2e84563b0bbb305ad8cfe7abc"
      ],
      "author": {
        "name": "Hyundo Moon",
        "email": "hdmoon@google.com",
        "time": "Tue Feb 06 14:27:00 2018 +0900"
      },
      "committer": {
        "name": "Hyundo Moon",
        "email": "hdmoon@google.com",
        "time": "Tue Feb 13 10:20:35 2018 +0900"
      },
      "message": "MediaBrowser2: Implement getItem/getChildren\n\nBug: 72786723\nTest: Passed MediaBrowser2Test\nChange-Id: I82d9116da16ee5bb6e956748add1bdac800666dd\n"
    },
    {
      "commit": "32ecc4f76d856dcd56ab6e2e2f272fddd17c0267",
      "tree": "5b4199f88e4e5540bfcaa22e41b1119e35ae98fd",
      "parents": [
        "7a498a96c082fd6baee468261128e9f0080ef2df"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Mon Feb 12 20:33:47 2018 +0900"
      },
      "committer": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Mon Feb 12 20:33:47 2018 +0900"
      },
      "message": "MediaSession2: Allow setting session callback for test session services\n\nThis is the preliminary step towards adding tests for library service.\n\nTest: Run all MediaComponents tests once\nChange-Id: I42a812f3771f1b15195693189dd83fed590c77ae\n"
    },
    {
      "commit": "d8d4ef440fe25095d34e535e591edd8fa1457307",
      "tree": "c1ab6f94082d434198e493dc49f71077be0eb099",
      "parents": [
        "a8b87fdd07b3b0c3f9a0b9a0a894155ca6d8c2e6",
        "ea02767af55896a5481edbba9b696ddf328b646a"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Feb 12 09:48:23 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 12 09:48:23 2018 +0000"
      },
      "message": "Merge \"MediaControlView2: Add UX for ad mode\""
    },
    {
      "commit": "a8b87fdd07b3b0c3f9a0b9a0a894155ca6d8c2e6",
      "tree": "d3d8cfa6ed103ed7aec875b75017c973dafa421a",
      "parents": [
        "ed5436834c197a5012d37e4b749950fa5f2f3398",
        "ad1050c8492bae6a730467fe62d5ceb72d7b8bda"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Feb 12 09:45:25 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 12 09:45:25 2018 +0000"
      },
      "message": "Merge \"MediaSession2: Add utility functions for MediaSession2Stub\""
    },
    {
      "commit": "7b63e9d8cc9c33bda8623c12e86ea6cb8e1f618f",
      "tree": "f56c2fcc1d317dd0a80f0625f08a8ca2e1fecf1d",
      "parents": [
        "7a498a96c082fd6baee468261128e9f0080ef2df"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Mon Feb 12 17:42:11 2018 +0900"
      },
      "committer": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Mon Feb 12 17:47:56 2018 +0900"
      },
      "message": "MediaSession2: Fix bug in runtest.sh for finding test apk\n\nThe script had searched the apk under the ${OUT}, but it sometimes match\nwith the invalid apk under ${OUT}/obj/PACKAGING.\n\nLimits the search directory to ${OUT}/system and ${OUT}/data to exclude\nobj directory.\n\nTest: Run all MediaComponents tests once\nChange-Id: I733b381cbc8e56b5c28515bc93931ce1e5d67e40\n"
    },
    {
      "commit": "c49998bbfe25cdcffda10efc4ae5760e5a422bce",
      "tree": "f603b38548ebcf46b0b66266b40a781ff39051d4",
      "parents": [
        "c23849a8ea5d7e2939e9d8a0aa8b6da9c08ee625"
      ],
      "author": {
        "name": "Sungsoo Lim",
        "email": "sungsoo@google.com",
        "time": "Mon Feb 12 17:00:49 2018 +0900"
      },
      "committer": {
        "name": "Sungsoo Lim",
        "email": "sungsoo@google.com",
        "time": "Mon Feb 12 17:05:00 2018 +0900"
      },
      "message": "MediaSession2: Code cleanup for setPlayer\n\nTest: build\nChange-Id: I200108503ecbad7e1b6cc8e044ff1466bc4a2997\n"
    },
    {
      "commit": "ea02767af55896a5481edbba9b696ddf328b646a",
      "tree": "5d31457b828f489f0f0519b285baae4a26a8edae",
      "parents": [
        "798b6244999a799742218dea267b7dca35afc1b7"
      ],
      "author": {
        "name": "Jin Seok Park",
        "email": "jinpark@google.com",
        "time": "Thu Feb 08 15:50:09 2018 +0900"
      },
      "committer": {
        "name": "Jin Seok Park",
        "email": "jinpark@google.com",
        "time": "Mon Feb 12 16:49:12 2018 +0900"
      },
      "message": "MediaControlView2: Add UX for ad mode\n\nAdd initial UX layouts for Advertisement mode\n\nBug: 73136129\nTest: manually run VideoViewTest.apk\nChange-Id: I7c0ccc052963cc97061451d365bbeda417d942ae\n"
    },
    {
      "commit": "ad1050c8492bae6a730467fe62d5ceb72d7b8bda",
      "tree": "d453a4bf30fd674a22fdc1eda80224504803c453",
      "parents": [
        "9b67177ebfe5f46c0c6216f87f5ee98c03e5cbad"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Fri Feb 09 22:05:16 2018 +0900"
      },
      "committer": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Mon Feb 12 16:45:07 2018 +0900"
      },
      "message": "MediaSession2: Add utility functions for MediaSession2Stub\n\nAdded two functions for MediaSession2Stub not to check if its used by\nLibrarySession or Session.\n  - MediaLibrarySessionImpl.getCallback()\n  - MediaSession2Stub.getLibrarySession()\n\nTest: Run all MediaComponents tests once\nChange-Id: Ie88e1b3d8fc2aa6f2a84db1812de989e23ac8ed3\n"
    },
    {
      "commit": "ed5436834c197a5012d37e4b749950fa5f2f3398",
      "tree": "817a69e4edbcde4a3dc57ece789c731db516d28b",
      "parents": [
        "eddaba902590d675a55216ffbafe637ac6b46da9",
        "9b67177ebfe5f46c0c6216f87f5ee98c03e5cbad"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Feb 12 06:58:22 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 12 06:58:22 2018 +0000"
      },
      "message": "Merge \"MediaSession2: Fix bug in MediaSession2.setCustomLayout()\""
    },
    {
      "commit": "9b67177ebfe5f46c0c6216f87f5ee98c03e5cbad",
      "tree": "967327a62f18cf62094810736a8a61ccb5bf77d2",
      "parents": [
        "b41bfb59dd52decb1e5c5952d6ed786f159d772d"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Fri Feb 09 20:23:37 2018 +0900"
      },
      "committer": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Mon Feb 12 15:21:49 2018 +0900"
      },
      "message": "MediaSession2: Fix bug in MediaSession2.setCustomLayout()\n\nThere had been a bug that only the MediaBrowser2 can receive the change\nin the custom layout.\n\nThis CL fixes the issue by moving code related with getting custom\nlayout change from MediaBrowser2Impl to the MediaController2Impl.\nRelated tests are also added.\n\nTest: Run all MediaComponent tests once\nChange-Id: If5ce1be19057af306f46f1b1ab64f18e3f3fb7bd\n"
    },
    {
      "commit": "eddaba902590d675a55216ffbafe637ac6b46da9",
      "tree": "ccde98233f8bc929e5f77441abcd934253095d39",
      "parents": [
        "8cb898d7b2c90ba717b44ebcf50f5a314371f8bf",
        "b41bfb59dd52decb1e5c5952d6ed786f159d772d"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Feb 12 05:53:20 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 12 05:53:20 2018 +0000"
      },
      "message": "Merge \"MediaSession2: Pull out MediaSession2CallbackStub\""
    },
    {
      "commit": "8cb898d7b2c90ba717b44ebcf50f5a314371f8bf",
      "tree": "5e49f7e2f838c22b825ea871a21eb9d29133eaa6",
      "parents": [
        "9ce7eef98ca823ecf5d6ad98d28ec3af8f08a591",
        "2e46c5c8a61d182f65e080f124148f48a66bce46"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Feb 12 04:14:08 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 12 04:14:08 2018 +0000"
      },
      "message": "Merge \"VideoView2: Applying missing experimental code for enabling subtitle\""
    },
    {
      "commit": "9ce7eef98ca823ecf5d6ad98d28ec3af8f08a591",
      "tree": "43c4a3bc075c0e218d4cedea72d99e7114bc3ceb",
      "parents": [
        "dc5cb6a1a826d5be4750adb9d6d937460633248c",
        "6c6702001502c1ced03dd4a3886060dcef6926d9"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Feb 12 02:21:18 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 12 02:21:18 2018 +0000"
      },
      "message": "Merge \"Fix MediaControlView2 progress bar issue\""
    },
    {
      "commit": "6c6702001502c1ced03dd4a3886060dcef6926d9",
      "tree": "e27fa466343f689bcd298133cded29fe96e95e86",
      "parents": [
        "798b6244999a799742218dea267b7dca35afc1b7"
      ],
      "author": {
        "name": "Jin Seok Park",
        "email": "jinpark@google.com",
        "time": "Wed Feb 07 14:24:36 2018 +0900"
      },
      "committer": {
        "name": "Jin Seok Park",
        "email": "jinpark@google.com",
        "time": "Mon Feb 12 09:44:45 2018 +0900"
      },
      "message": "Fix MediaControlView2 progress bar issue\n\nThis CL does the following\n1. Fix progress bar not updating issue by\n   a) Removing mCurrentVisibility variable.\n   b) posting progress update Runnable when playback state is\n      changed.\n2. Add support for hiding MediaControlView2 instance with both\n   View.INVISIBLE and View.GONE inside #onVisibilityAggregated.\n\nBug: 73096369\nTest: manually run VideoViewTest.apk\nChange-Id: I9c2569e824e85c7bdd809dd4a459cf35ae1aeaa6\n"
    },
    {
      "commit": "b41bfb59dd52decb1e5c5952d6ed786f159d772d",
      "tree": "2e1d534f04a5433fbec58887c17f4cdee6901110",
      "parents": [
        "7a498a96c082fd6baee468261128e9f0080ef2df"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Fri Feb 09 16:23:26 2018 +0900"
      },
      "committer": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Fri Feb 09 20:31:20 2018 +0900"
      },
      "message": "MediaSession2: Pull out MediaSession2CallbackStub\n\nIt had been in the MediaController2Impl, but it doesn\u0027t make sense\nbecause the MediaSession2CallbackStub also handles browser specific\ncommands.\n\nTest: Run all MediaComponent tests once\nChange-Id: I8e8e64c020abbcf87bde3af9db56e601f2a01bb4\n"
    },
    {
      "commit": "2e46c5c8a61d182f65e080f124148f48a66bce46",
      "tree": "f52ffcff4198bacf5613633767e029a64d9554c5",
      "parents": [
        "1bfabb36f5d6f09d87e9d52778b5a1cca9512722"
      ],
      "author": {
        "name": "Insun Kang",
        "email": "insun@google.com",
        "time": "Thu Feb 08 11:19:18 2018 +0900"
      },
      "committer": {
        "name": "Insun Kang",
        "email": "insun@google.com",
        "time": "Fri Feb 09 18:17:40 2018 +0900"
      },
      "message": "VideoView2: Applying missing experimental code for enabling subtitle\n\nThis will be repaced once it is integrated with MediaSesssion2 though.\nIt detects subtitle track and informs to MCV2 to via MediaSession event\nso that MCV2 enable CC button.\n\nTimedText related code is added for debugging purpose. It will be\nremoved later.\n\nTest: VideoViewTest app\nChange-Id: I3a8fef04b3cb4875f091f0b72d3a084bf5fa94ac\n"
    },
    {
      "commit": "991a25e6fd2aa7456fa7686de0baf619ebd50c2c",
      "tree": "4417d82fb658f15b414f9bcba2a3cf1dcefb041a",
      "parents": [
        "b66931ce5781c51ddf3038cd84890c7b05b3f20a"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Wed Feb 07 15:51:12 2018 +0900"
      },
      "committer": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Wed Feb 07 15:51:12 2018 +0900"
      },
      "message": "MediaSession2: Make PlaybackInfoProvider inner interface\n\nIt should be inner interface of MediaController2Provider because\nPlaybackInfo is inner class of MediaController2\n\nTest: Build\nChange-Id: Ib809d669c87c2a3b515f4b4824ef3c9da568a037\n"
    },
    {
      "commit": "d5b1f00dbd91f5bc64f30891ec7a35f28274dbb0",
      "tree": "1b93cd1d2e2a4738ec989a7e87c3812636c4ea00",
      "parents": [
        "1bfabb36f5d6f09d87e9d52778b5a1cca9512722"
      ],
      "author": {
        "name": "Sungsoo Lim",
        "email": "sungsoo@google.com",
        "time": "Tue Feb 06 11:17:43 2018 +0900"
      },
      "committer": {
        "name": "Sungsoo Lim",
        "email": "sungsoo@google.com",
        "time": "Tue Feb 06 14:26:21 2018 +0900"
      },
      "message": "Show MediaRouteControllerDialog in MediaControlView2\n\nBug: 72527216\nTest: manually using VideoViewTest\nChange-Id: I9067a53739fc60995a8c10e9071472c46de5c4db\n"
    },
    {
      "commit": "b89383439ab1c4889c19a08215505e7a7385d6d7",
      "tree": "c58513e0d95269df3e9c0a217d0088e63c39e623",
      "parents": [
        "896f1af953475685719a762fb094828a4d0f600a",
        "edd9171c285692efc04a8f38b3aed0140ae1e56c"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Feb 05 13:51:47 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 05 13:51:47 2018 +0000"
      },
      "message": "Merge \"MediaSession2: Implement playFromXXX and prepareFromXXX\""
    },
    {
      "commit": "896f1af953475685719a762fb094828a4d0f600a",
      "tree": "4b09662a4ab6940348467e2ebbdfb8285ef3eccb",
      "parents": [
        "58b388c673a49ab4cb4449ed5782b96c1b6ffce9",
        "0261708bf17cb0469de8eb3c81455e2f48ff9433"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Feb 05 13:29:16 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 05 13:29:16 2018 +0000"
      },
      "message": "Merge \"MediaSession2: Send session info when a controller is connected\""
    },
    {
      "commit": "58b388c673a49ab4cb4449ed5782b96c1b6ffce9",
      "tree": "34c362ed7402e86456409cf054859bce1d481f2c",
      "parents": [
        "479f0113471664c23b0258eddef2f1128ffc3010",
        "2d9c21635def5c3f681c319febb54e6753574d12"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Feb 05 10:17:33 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 05 10:17:33 2018 +0000"
      },
      "message": "Merge \"VV2 \u0026 MCV2: Move handling MediaControlView2 visibility logic to VV2\""
    },
    {
      "commit": "2d9c21635def5c3f681c319febb54e6753574d12",
      "tree": "c90714cc6a6d70d5c47e554f46df40cdd4cb4dfc",
      "parents": [
        "c04cae895681218778dd347c7ee4116bb08c6fcc"
      ],
      "author": {
        "name": "Insun Kang",
        "email": "insun@google.com",
        "time": "Mon Feb 05 15:18:27 2018 +0900"
      },
      "committer": {
        "name": "Insun Kang",
        "email": "insun@google.com",
        "time": "Mon Feb 05 17:30:34 2018 +0900"
      },
      "message": "VV2 \u0026 MCV2: Move handling MediaControlView2 visibility logic to VV2\n\nMediaControlView2\u0027s setTimeout API is removed and MCV2\u0027s visibility\nhandling logic is moved into VideoView2.\n\nTest: build\nChange-Id: If321f2c040a8d7effaceb917a9109b8b91430520\n"
    },
    {
      "commit": "edd9171c285692efc04a8f38b3aed0140ae1e56c",
      "tree": "6084739ce91d1ed2e553e047ba447de720650fb8",
      "parents": [
        "0261708bf17cb0469de8eb3c81455e2f48ff9433"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Mon Feb 05 17:26:13 2018 +0900"
      },
      "committer": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Mon Feb 05 17:30:01 2018 +0900"
      },
      "message": "MediaSession2: Implement playFromXXX and prepareFromXXX\n\nTest: Run all MediaComponents tests once\nBug: 72798434\nChange-Id: Idb8dbfc5c95304a9804352526737138552fda170\n"
    },
    {
      "commit": "0261708bf17cb0469de8eb3c81455e2f48ff9433",
      "tree": "e7dc790cfc44daff6519356e0ba6d90eebbf5e95",
      "parents": [
        "479f0113471664c23b0258eddef2f1128ffc3010"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Mon Feb 05 15:44:20 2018 +0900"
      },
      "committer": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Mon Feb 05 17:30:01 2018 +0900"
      },
      "message": "MediaSession2: Send session info when a controller is connected\n\nBug: 72547163\nTest: Run all tests once\nChange-Id: I55730536cce6a938f8117abb433b492ac8e36bfc\n"
    },
    {
      "commit": "479f0113471664c23b0258eddef2f1128ffc3010",
      "tree": "7d6c8c8f9a27a211f29c143458fedd4fa9bed954",
      "parents": [
        "c04cae895681218778dd347c7ee4116bb08c6fcc",
        "c4a9db19b2c4a4bf1283dd060147e17e48142bee"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Feb 05 07:08:15 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 05 07:08:15 2018 +0000"
      },
      "message": "Merge \"MediaSession2: Change controller\u0027s behavior when connected\""
    },
    {
      "commit": "c4a9db19b2c4a4bf1283dd060147e17e48142bee",
      "tree": "bc29936e13efc70f5f9b1396c2a810a9dc267e0d",
      "parents": [
        "f247f2743f0e12e7ad9281d905347e666534fadb"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Mon Feb 05 12:22:58 2018 +0900"
      },
      "committer": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Mon Feb 05 13:30:40 2018 +0900"
      },
      "message": "MediaSession2: Change controller\u0027s behavior when connected\n\nThis stops calling\nMediaController2.ControllerCallback.onPlaybackStateChanged() when the\ncontroller is connected.\n\nThis is the preliminary step towards sending session\u0027s current values\nto a controller when it\u0027s connected.\n\nBug: 72547163\nTest: Run all tests once\nChange-Id: I73b45268dba4ac1fe3fce99a575748db15f19168\n"
    },
    {
      "commit": "c04cae895681218778dd347c7ee4116bb08c6fcc",
      "tree": "479ede1b065820e9a703a413bcad1c467aeee766",
      "parents": [
        "ff0f3ffd700042612132ed738486bdde001329c8",
        "0bfa950527f7b5b44658d32346fd444073b8b6d8"
      ],
      "author": {
        "name": "Sungsoo Lim",
        "email": "sungsoo@google.com",
        "time": "Mon Feb 05 02:36:49 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 05 02:36:49 2018 +0000"
      },
      "message": "Merge \"Show MediaRouteChooserDialog in MediaControlView2\""
    },
    {
      "commit": "ff0f3ffd700042612132ed738486bdde001329c8",
      "tree": "7b0d0aeaa9d6bee7a66c0321d2caa1df3a650501",
      "parents": [
        "23284f9bc2e7900e5e75d3e3cf2abd010a91efb0",
        "c7840a9c538949820d8b3481072d4bc13081d85d"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Feb 05 02:27:19 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 05 02:27:19 2018 +0000"
      },
      "message": "Merge \"MediaController2: Implement setVolumeTo/adjustVolume for remote volume\""
    },
    {
      "commit": "c9e04aedfd03f401c9d9e111c1ac040c11caba6d",
      "tree": "c8af503d7250163b9aebf71529adc0e59afe78d2",
      "parents": [
        "618505ef712df0e91bcf4e38f4fff65642fd7f07"
      ],
      "author": {
        "name": "Insun Kang",
        "email": "insun@google.com",
        "time": "Fri Feb 02 18:22:02 2018 +0900"
      },
      "committer": {
        "name": "Insun Kang",
        "email": "insun@google.com",
        "time": "Fri Feb 02 10:22:20 2018 +0000"
      },
      "message": "VideoView2: Replace showSubtitle with setSubtitleEnabled\n\n- Renames showSubtitle to setSubtitleEnabled\n- Introduces isSubtitleEnabled method\n- Not to call MediaPlayer\u0027s getDuration in invalid states\n\nTest: build\nChange-Id: I09c94211dd03002c3a7d50665dd7568ce9083c8f\n"
    },
    {
      "commit": "c7840a9c538949820d8b3481072d4bc13081d85d",
      "tree": "2f695b6fd674800b4b609c34ff3845d0908b6b83",
      "parents": [
        "489b3604d16c3166338aaf9744e5e1ce962ca07d"
      ],
      "author": {
        "name": "Hyundo Moon",
        "email": "hdmoon@google.com",
        "time": "Fri Feb 02 16:21:04 2018 +0900"
      },
      "committer": {
        "name": "Hyundo Moon",
        "email": "hdmoon@google.com",
        "time": "Fri Feb 02 19:13:15 2018 +0900"
      },
      "message": "MediaController2: Implement setVolumeTo/adjustVolume for remote volume\n\nThis CL implements MediaController2.setVolumeTo/adjustVolume for the\ncase when a volume provider is set.\n\nBug: 72788940\nTest: Passed MediaController2Test\nChange-Id: Ia87ca5dfb0957930849ac647b54470b8e9a3d220\n"
    },
    {
      "commit": "618505ef712df0e91bcf4e38f4fff65642fd7f07",
      "tree": "345ddecbe9d4683be2332708be7956d6c42ae627",
      "parents": [
        "489b3604d16c3166338aaf9744e5e1ce962ca07d",
        "d98f6dbd2886bb88b48d40c8e72a930520e4ebce"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Feb 02 09:18:30 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 02 09:18:30 2018 +0000"
      },
      "message": "Merge \"VV2 and MCV2: Override onLayout of ViewGroup and remove MCV2.isShowing()\""
    },
    {
      "commit": "c81e4db8363fb9736bc2362f0ff213b5d9e33ac3",
      "tree": "476b3836e4de2b59ee7a634dfc0395afad8393ad",
      "parents": [
        "5b95b0ddd2d63ab851a208041dad7b8a3dcecaaf"
      ],
      "author": {
        "name": "Hyundo Moon",
        "email": "hdmoon@google.com",
        "time": "Tue Jan 30 16:01:22 2018 +0900"
      },
      "committer": {
        "name": "Hyundo Moon",
        "email": "hdmoon@google.com",
        "time": "Fri Feb 02 15:51:05 2018 +0900"
      },
      "message": "MediaSession2: Implement setPlayer\n\nThis CL makes controller\u0027s onPlaybackInfoChanged() be called whenever\nthe session calls setPlayer().\nAlso, it replaces all usages of VolumeProvider with VolumeProvider2.\n\nBug: 72616099\nTest: Passed MediaSession2Test\nChange-Id: I51f48f49e8d2ee369571de0ef48353750a0612be\n"
    },
    {
      "commit": "d98f6dbd2886bb88b48d40c8e72a930520e4ebce",
      "tree": "a4f5918a0e3bf7665c68807abfaf1bb026785533",
      "parents": [
        "5b95b0ddd2d63ab851a208041dad7b8a3dcecaaf"
      ],
      "author": {
        "name": "Insun Kang",
        "email": "insun@google.com",
        "time": "Fri Feb 02 12:53:31 2018 +0900"
      },
      "committer": {
        "name": "Insun Kang",
        "email": "insun@google.com",
        "time": "Fri Feb 02 12:53:31 2018 +0900"
      },
      "message": "VV2 and MCV2: Override onLayout of ViewGroup and remove MCV2.isShowing()\n\n- Overriding onLayout() is needed as VideoView2 and MediaControlView2\nextends ViewGroup.\n- Removes MediaControlView2\u0027s isShowing() method, since it looks\nredundant API.\n\nTest: build, VideoViewTest app\nChange-Id: Ie5a5e13977fafcb4a926fe602efec15a5b1cce83\n"
    },
    {
      "commit": "5135ac1345395dc5c2974f8e735dfb4eb2706d02",
      "tree": "5a31c902299386360acf2bc648c618880cc8b033",
      "parents": [
        "dc039c8d50b1643d6cf1f81062a1767e1512c28d"
      ],
      "author": {
        "name": "Christofer Åkersten",
        "email": "akersten@google.com",
        "time": "Wed Jan 31 15:00:26 2018 +0900"
      },
      "committer": {
        "name": "Christofer Åkersten",
        "email": "akersten@google.com",
        "time": "Thu Feb 01 21:41:52 2018 +0900"
      },
      "message": "Make VV2 \u0026 MCV2 extend ViewGroup\n\nTest: VideoViewTest\nChange-Id: I6c9c690d66511d940ce14d475b33ede6150dd5b9\n"
    },
    {
      "commit": "ddec9db69160943228ccb5b3d24917cd31ad7593",
      "tree": "6d792d4e38d3c8c315274038b71681ff1113c794",
      "parents": [
        "8a5018744ab11899483c12ca93b29be43c911fb0"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Thu Feb 01 15:15:32 2018 +0900"
      },
      "committer": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Thu Feb 01 16:57:36 2018 +0900"
      },
      "message": "MediaSession2: Rename BrowserRoot to LibraryRoot and move to updatable\n\nRenaming was the one of the feedback from ag/3506231\n\nTest: Run all MediaComponents tests once\nChange-Id: I156116f11a64a04cc82f7c360969808ca64f85b2\n"
    },
    {
      "commit": "8a5018744ab11899483c12ca93b29be43c911fb0",
      "tree": "d322e2edc7f3ba220e728f9911fef8ce5294dd2c",
      "parents": [
        "6b1c183e07a03e129df8a9ca4f26664d5866ce71"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Thu Feb 01 14:33:19 2018 +0900"
      },
      "committer": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Thu Feb 01 16:57:21 2018 +0900"
      },
      "message": "MediaSession2: Move MediaSession2.CommandButton to updatable\n\nBug: 72665718\nTest: Run all MediaComponents test once\nChange-Id: I2a02d8fc20a73051424baada8f513196925da582\n"
    },
    {
      "commit": "6b1c183e07a03e129df8a9ca4f26664d5866ce71",
      "tree": "f569f31d5a1a3b6269f6121150a024fd89f0d73f",
      "parents": [
        "839daf18d567c0cd5982ba7baf4c433d55e875a5"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Thu Feb 01 11:54:05 2018 +0900"
      },
      "committer": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Thu Feb 01 16:54:40 2018 +0900"
      },
      "message": "MediaSession2: Move MediaSessionService2.MediaNotification to updatable\n\nTest: Run all MediaComponents tests once\nChange-Id: If64c6e0ece90ee15dcf9af061fa91a6ebefd32c4\n"
    },
    {
      "commit": "0bfa950527f7b5b44658d32346fd444073b8b6d8",
      "tree": "27ea77e5172f245a0875f16e98321753241bc0cd",
      "parents": [
        "839daf18d567c0cd5982ba7baf4c433d55e875a5"
      ],
      "author": {
        "name": "Sungsoo Lim",
        "email": "sungsoo@google.com",
        "time": "Thu Feb 01 16:23:16 2018 +0900"
      },
      "committer": {
        "name": "Sungsoo Lim",
        "email": "sungsoo@google.com",
        "time": "Thu Feb 01 16:47:30 2018 +0900"
      },
      "message": "Show MediaRouteChooserDialog in MediaControlView2\n\nBug: 72527380\nTest: manually using VideoViewTest\nChange-Id: I047275f80a67dd27be50cf3387a978935afb7d5e\n"
    },
    {
      "commit": "839daf18d567c0cd5982ba7baf4c433d55e875a5",
      "tree": "0e937e91f511f71f07121e229ee1ea9aa491bef3",
      "parents": [
        "5dd03a5825d06033c1e66353dbbfcfc7f60990c5"
      ],
      "author": {
        "name": "Sungsoo Lim",
        "email": "sungsoo@google.com",
        "time": "Wed Jan 31 15:28:10 2018 +0900"
      },
      "committer": {
        "name": "Sungsoo Lim",
        "email": "sungsoo@google.com",
        "time": "Thu Feb 01 11:40:49 2018 +0900"
      },
      "message": "Show the cast button after setting route attrs\n\nBug: 72527380\nTest: manually using VideoViewTest\nChange-Id: I985d8aceeb0974f5a296854f889f1fef0c62d432\n"
    },
    {
      "commit": "2eff8dbb28293a2e66c298f1abb3f366e5ca8f5e",
      "tree": "39f09c5e43d87733782b66ddac14aebf4fba62b9",
      "parents": [
        "3936db3461df590790ab85f32499cdccc11fe425",
        "f9248adb5af4b8b4c35a21d8abcbecb653d2c205"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 31 14:17:27 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 31 14:17:27 2018 +0000"
      },
      "message": "Merge changes from topics \"move_playbackstate2\", \"command_code\"\n\n* changes:\n  MediaSession2: Move PlaybackState2 to updatable\n  MediaSession2: Polish command codes\n"
    },
    {
      "commit": "3936db3461df590790ab85f32499cdccc11fe425",
      "tree": "064c85fb8e869b84a3e98a33325e9d3d3ee3a891",
      "parents": [
        "1782b46c68e2c366e6a747f9791dfedc46debd86"
      ],
      "author": {
        "name": "Hyundo Moon",
        "email": "hdmoon@google.com",
        "time": "Wed Jan 31 20:02:45 2018 +0900"
      },
      "committer": {
        "name": "Hyundo Moon",
        "email": "hdmoon@google.com",
        "time": "Wed Jan 31 20:54:41 2018 +0900"
      },
      "message": "MediaSession2: Move MediaController2.PlaybackInfo to updatable\n\nBug: 72716294\nTest: Builds successfully\nChange-Id: Ia3d87745d419d1155ad004bcae7cc1a1c638d449\n"
    },
    {
      "commit": "1782b46c68e2c366e6a747f9791dfedc46debd86",
      "tree": "128681d543097e312818c027dfb75eb565cd96cb",
      "parents": [
        "5734932de0dfea758128d2d6f252b2025df0b4bd",
        "a7a0502ec7cdd3582f35e0f8eb449d4d89d778e6"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 31 10:41:18 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 31 10:41:18 2018 +0000"
      },
      "message": "Merge \"MediaSession2: Create VolumeProvider2\""
    },
    {
      "commit": "f9248adb5af4b8b4c35a21d8abcbecb653d2c205",
      "tree": "c95fe7b6c1d66bee85475313394983f525500480",
      "parents": [
        "25bd25de6110e59c988ceb82bb6b5830177c48d2"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Wed Jan 31 14:38:37 2018 +0900"
      },
      "committer": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Wed Jan 31 17:10:38 2018 +0900"
      },
      "message": "MediaSession2: Move PlaybackState2 to updatable\n\nTest: Run all MediaComponents test once\nBug: 72670371\nChange-Id: I81977a7266c0c16ad1e7c1dadf2a07a6c31f44c6\n"
    },
    {
      "commit": "5734932de0dfea758128d2d6f252b2025df0b4bd",
      "tree": "15796c6b546cf6d6163b68bf60e6135e9a34f2cc",
      "parents": [
        "231877fb88aa895f999658d1a2e0db891d7fa5e7"
      ],
      "author": {
        "name": "Insun Kang",
        "email": "insun@google.com",
        "time": "Wed Jan 31 15:14:21 2018 +0900"
      },
      "committer": {
        "name": "Insun Kang",
        "email": "insun@google.com",
        "time": "Wed Jan 31 16:53:53 2018 +0900"
      },
      "message": "VideoView2: nullity check before using PlaybackInfo from MediaController\n\nTest: experimental VideoViewTest app\nChange-Id: Iad2cd0d196a38ea4fcb47c932d6aab8a0caca416\n"
    },
    {
      "commit": "a7a0502ec7cdd3582f35e0f8eb449d4d89d778e6",
      "tree": "3b0e0fc94f3daf1ae25d54594a707edf9eb7460e",
      "parents": [
        "231877fb88aa895f999658d1a2e0db891d7fa5e7"
      ],
      "author": {
        "name": "Hyundo Moon",
        "email": "hdmoon@google.com",
        "time": "Wed Jan 31 15:47:01 2018 +0900"
      },
      "committer": {
        "name": "Hyundo Moon",
        "email": "hdmoon@google.com",
        "time": "Wed Jan 31 16:25:39 2018 +0900"
      },
      "message": "MediaSession2: Create VolumeProvider2\n\nBug: 72721358\nTest: Builds successfully\nChange-Id: I4c8c6c1fdf97fb9ca9d7d523967107b480584bb0\n"
    },
    {
      "commit": "25bd25de6110e59c988ceb82bb6b5830177c48d2",
      "tree": "c5436707a32b549d47a7d148bd7319d0bc0b61e9",
      "parents": [
        "a60203419dc021a2259e019b3763650c2867dfa6"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Wed Jan 31 13:26:43 2018 +0900"
      },
      "committer": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Wed Jan 31 14:08:38 2018 +0900"
      },
      "message": "MediaSession2: Polish command codes\n\nThis is the preliminary step toward permission check.\n\nBug: 72618604\nTest: Run all MediaComponents test once\nChange-Id: I48e61fd5db8a1b878c546c641a474ac62fd207f6\n"
    },
    {
      "commit": "d0cff6b094c88bf857cfab80d733728f66ea212c",
      "tree": "6916d8151ab2b95164f244c4b54fcb062a0816ff",
      "parents": [
        "83730674b61318b7ada1a3987c238dcfa9cbca59"
      ],
      "author": {
        "name": "Christofer Åkersten",
        "email": "akersten@google.com",
        "time": "Tue Jan 30 18:28:44 2018 +0900"
      },
      "committer": {
        "name": "Christofer Åkersten",
        "email": "akersten@google.com",
        "time": "Wed Jan 31 11:10:12 2018 +0900"
      },
      "message": "Move MediaSession2 builder to impl\n\nBug: 72665881\nTest: runtest-MediaComponents\nChange-Id: I96036d7c2b848e02a5420c8849f1e3ccf4b6be24\n"
    },
    {
      "commit": "83730674b61318b7ada1a3987c238dcfa9cbca59",
      "tree": "13d2c58ac07610a4a6bb3cab038b22eaef669085",
      "parents": [
        "9111804e9051b2888c66e26ee1a872bb3ef7a988",
        "24f525c3c3e29ba2a9c6e12b75be757477112c47"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jan 30 23:41:35 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 30 23:41:35 2018 +0000"
      },
      "message": "Merge changes from topics \"rating2_updatable\", \"mediasession2_playlistparams\", \"mediametadata2_updatable\"\n\n* changes:\n  MediaSession2: Move Rating2 to updatable\n  MediaSession2: Move MediaSession2.PlaylistParams to updatable\n  MediaSession2: Move MediaMetadata2 to updatable\n"
    },
    {
      "commit": "24f525c3c3e29ba2a9c6e12b75be757477112c47",
      "tree": "021a065c3456db4fd1ae99d696767bc80ac57c7a",
      "parents": [
        "e6d6cf49eac07730406e51e4940f02e344648267"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Tue Jan 30 18:32:30 2018 +0900"
      },
      "committer": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Tue Jan 30 22:14:35 2018 +0900"
      },
      "message": "MediaSession2: Move Rating2 to updatable\n\nTest: Run all MediaComponents tests once\nBug: 72670051\nChange-Id: I755cfedd8a06ac008ea7538c4a93f5d956c9923d\n"
    },
    {
      "commit": "e6d6cf49eac07730406e51e4940f02e344648267",
      "tree": "927b9822a4e2fc6725a20eceeab873523e6f1f09",
      "parents": [
        "6b360d144c21914851bf6bfe418e6c3463eecf8c"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Tue Jan 30 16:34:33 2018 +0900"
      },
      "committer": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Tue Jan 30 22:14:07 2018 +0900"
      },
      "message": "MediaSession2: Move MediaSession2.PlaylistParams to updatable\n\nBug: 72670266\nTest: Run all MediaComponents tests once\nChange-Id: I12033564bf010a99a47fc53db4283baa3cb968c2\n"
    },
    {
      "commit": "6b360d144c21914851bf6bfe418e6c3463eecf8c",
      "tree": "fff289947a915a56321267a9eefd354cec89ce05",
      "parents": [
        "1e0a07b66583dbddca3ea28bfb79b6a5663476df"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Tue Jan 30 15:32:28 2018 +0900"
      },
      "committer": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Tue Jan 30 22:13:17 2018 +0900"
      },
      "message": "MediaSession2: Move MediaMetadata2 to updatable\n\nBug: 72670468\nTest: Run all MediaComponents test once\nChange-Id: I7e2a7e81d855e0034007f208a471bcf174b51f57\n"
    },
    {
      "commit": "bbde56f56c0ad28fc044c9d4204baf3220ce791b",
      "tree": "e82b125e147b5bf72104424742e80d0218d01a89",
      "parents": [
        "1e0a07b66583dbddca3ea28bfb79b6a5663476df"
      ],
      "author": {
        "name": "Insun Kang",
        "email": "insun@google.com",
        "time": "Tue Jan 30 16:21:51 2018 +0900"
      },
      "committer": {
        "name": "Insun Kang",
        "email": "insun@google.com",
        "time": "Tue Jan 30 21:42:07 2018 +0900"
      },
      "message": "VideoView2: Adds more attributes and changes showSubtitle Api\n\n- Adds more attributes\n  - showSubtitle (boolean)\n  - viewType (enum)\n      - surfaceView\n      - textureView\n- showSubtitle --\u003e showSubtitle(boolean)\n- hideSubtitle --\u003e removed\n\nTest: build\n\nChange-Id: I92ac9a9d167641d9a7107c82b334a8fa74bb5be9\n"
    },
    {
      "commit": "1e0a07b66583dbddca3ea28bfb79b6a5663476df",
      "tree": "5718636d4e04dca27fbf81da2ebff4111ecd9a77",
      "parents": [
        "884374eb562541769f3631bf7ce8038b68b64f23",
        "a7df615bfd29af892861e334df8e793cc623aaf8"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jan 30 07:58:14 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 30 07:58:14 2018 +0000"
      },
      "message": "Merge \"Make MediaSession2.CommandGroup updatable\""
    },
    {
      "commit": "884374eb562541769f3631bf7ce8038b68b64f23",
      "tree": "0222e8303c1897ff59299189e482896c7fd00a70",
      "parents": [
        "db0bdbf69b0c3330c35c5076b4a71a413845707d",
        "1bd0ac6f54fb78425f2729bd474d3a2284f924b5"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jan 30 07:55:32 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 30 07:55:32 2018 +0000"
      },
      "message": "Merge \"Remove show/hide API\""
    },
    {
      "commit": "a7df615bfd29af892861e334df8e793cc623aaf8",
      "tree": "b930ade0faf56473fcb96af75256a278229d14ec",
      "parents": [
        "78e257713ebf4805647772f32fac433d2621405e"
      ],
      "author": {
        "name": "Sungsoo Lim",
        "email": "sungsoo@google.com",
        "time": "Tue Jan 30 11:06:34 2018 +0900"
      },
      "committer": {
        "name": "Sungsoo Lim",
        "email": "sungsoo@google.com",
        "time": "Tue Jan 30 14:26:04 2018 +0900"
      },
      "message": "Make MediaSession2.CommandGroup updatable\n\nBug: 72665979\nTest: build \u0026 runtest-MediaComponents\nChange-Id: Ibee285230c40d74e26237d427df2609e529bdb03\n"
    },
    {
      "commit": "78e257713ebf4805647772f32fac433d2621405e",
      "tree": "588b02039adf436c06dc95f29b3fe07719dc575d",
      "parents": [
        "fc70138c8841ef5479580ba5efd35b30229db9a2"
      ],
      "author": {
        "name": "Sungsoo Lim",
        "email": "sungsoo@google.com",
        "time": "Mon Jan 29 16:12:20 2018 +0900"
      },
      "committer": {
        "name": "Sungsoo Lim",
        "email": "sungsoo@google.com",
        "time": "Tue Jan 30 12:04:00 2018 +0900"
      },
      "message": "Make MediaSession2.Command updatable\n\nBug: 72619281\nTest: build \u0026 runtest-MediaComponents\nChange-Id: I917caaa09dfdc5dd981a555277a2a266dac8f5a0\n"
    },
    {
      "commit": "1bd0ac6f54fb78425f2729bd474d3a2284f924b5",
      "tree": "bb745078ba9840dea4da03d84cf76656fe391215",
      "parents": [
        "8ec3d5d415776cf37398b6cf788a3d4be2335a73"
      ],
      "author": {
        "name": "Jin Seok Park",
        "email": "jinpark@google.com",
        "time": "Mon Jan 29 19:34:56 2018 +0900"
      },
      "committer": {
        "name": "Jin Seok Park",
        "email": "jinpark@google.com",
        "time": "Tue Jan 30 10:07:01 2018 +0900"
      },
      "message": "Remove show/hide API\n\nThis CL removes the show/hide API from MediaControlView2 and instead\nprovides the developer with the same function by calling\nsetVisibility(View.VISIBLE | View.GONE), and calling the new APIs\nset/getTimeout() and requestPlayButtonFocus(). The original Runnable\ncode has been moved to onVisibilityAggregated() as per API council\u0027s\nrequest.\n\nTest: build\nChange-Id: Ice2ae746e2d3e80e356ce117d98898c63b783d07\n"
    },
    {
      "commit": "ab0486cbc9d0cc730be7e294af83865b1ad47b10",
      "tree": "e81410a82638b58ec1028e47ea643e83509d925d",
      "parents": [
        "3923b1b71628e668f9b11ed4891ed2840dd331cd",
        "96234aa6ba494e14e77bc2e474ac22e24465619d"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jan 30 00:15:14 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 30 00:15:14 2018 +0000"
      },
      "message": "Merge \"Update MediaControlView2Impl\""
    },
    {
      "commit": "3923b1b71628e668f9b11ed4891ed2840dd331cd",
      "tree": "8835a35a000ad14b8cde1d00756a0e37c54c498f",
      "parents": [
        "5830d047eda8c4b9401214b590efbf1b9e8a1622"
      ],
      "author": {
        "name": "Hyundo Moon",
        "email": "hdmoon@google.com",
        "time": "Mon Jan 29 17:05:24 2018 +0900"
      },
      "committer": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Mon Jan 29 22:52:06 2018 +0900"
      },
      "message": "MediaSession2/Controller2: Add playlist support\n\nThis CL implements following APIs:\n - MediaSession2.get/setPlaylist\n - MediaController2.getPlaylist\n - MediaController2.ControllerCallback.onPlaylistChanged\n\nBug: 72537268\nTest: Passed MediaSession2Test\nChange-Id: I206bb1018cde38d7db296df0912d02272fe1c6c7\n"
    },
    {
      "commit": "5830d047eda8c4b9401214b590efbf1b9e8a1622",
      "tree": "402132a378bcc90b490c72eae8ac2621b429bd17",
      "parents": [
        "c63d0068be830cfbb44096c3ebef12ad8c60dd2f"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Mon Jan 29 21:50:42 2018 +0900"
      },
      "committer": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Mon Jan 29 22:46:05 2018 +0900"
      },
      "message": "MediaSession2: Simplify constructor of SessionToken2\n\nTest: Run all MediaComponents tests once\nChange-Id: I7123e66d3d36f5d60eea650f617a47aef9eb3b02\n"
    }
  ],
  "next": "c63d0068be830cfbb44096c3ebef12ad8c60dd2f"
}
