)]}'
{
  "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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"
    },
    {
      "commit": "bf9606868a825bf9f606d4d3ec8d15e7f29b76a7",
      "tree": "ba166fc6ebf948b581eea946320cfe9b83755ad5",
      "parents": [
        "e92166d67b3e1c9932636536669870cc9d03717e"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Mon Jan 29 19:37:21 2018 +0900"
      },
      "committer": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Mon Jan 29 22:43:23 2018 +0900"
      },
      "message": "MediaSession2: Implements sendCustomCommand()\n\nBug: 72543316\nTest: Run all MediaComponents tests once\nChange-Id: I64fb9b26b54f6c5eb905cfe2ccca6b7368570ef2\n"
    },
    {
      "commit": "e92166d67b3e1c9932636536669870cc9d03717e",
      "tree": "06b8c6857901b434b77a3c6b2e5a1dfc618a0478",
      "parents": [
        "fef550c3118cb3ec4a1a6c22e9dbb6dd6cfeb537",
        "e71339cbe74fc7b87c822ae95d1c842d7944942b"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jan 29 09:53:07 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 29 09:53:07 2018 +0000"
      },
      "message": "Merge \"MediaController2: Implement get/setPlaylistParams\""
    },
    {
      "commit": "e71339cbe74fc7b87c822ae95d1c842d7944942b",
      "tree": "20ba783cded6582454a93833a0d67f7b9de3fb66",
      "parents": [
        "4a842111b2783dfb1756144f6ad3b3dbcf850de3"
      ],
      "author": {
        "name": "Hyundo Moon",
        "email": "hdmoon@google.com",
        "time": "Mon Jan 29 14:09:18 2018 +0900"
      },
      "committer": {
        "name": "Hyundo Moon",
        "email": "hdmoon@google.com",
        "time": "Mon Jan 29 16:49:04 2018 +0900"
      },
      "message": "MediaController2: Implement get/setPlaylistParams\n\nBug: 72537520\nTest: Passed MediaController2Test\nChange-Id: If9b3107084f3f4b063967f079bf229bb43b95cbd\n"
    },
    {
      "commit": "91f6f50307c53577225b5716d2c07b3ad6c821f7",
      "tree": "23dc71ecce1b5c555508662784012317e6dec0d1",
      "parents": [
        "4a842111b2783dfb1756144f6ad3b3dbcf850de3"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Mon Jan 29 09:46:18 2018 +0900"
      },
      "committer": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Mon Jan 29 09:46:18 2018 +0900"
      },
      "message": "MediaSession2: Add from add/remove an item from playlist\n\nBug: 72527248, Bug: 72527150\nTest: Run all MediaComponents test once\nChange-Id: I12dfa1ddff1aec6ff4fde2d7b044435b010afe84\n"
    },
    {
      "commit": "2bf325a54a6be66f5abb519b789167f7f13af401",
      "tree": "49ef376429fb257c3c07b2762b4a8ceaaf42c1ed",
      "parents": [
        "0014f9b3e1beedb4473bdb333810fb44e3cdf6f4"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Sat Jan 27 03:12:46 2018 +0900"
      },
      "committer": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Sat Jan 27 03:39:55 2018 +0900"
      },
      "message": "MediaSession2: Initial commit of SessionPlayer2\n\nBug: 72537268, 72527248\nTest: Run MediaComponents test once\nChange-Id: I696f91751817c7dda8304f4009feda1cdd36afdc\n"
    },
    {
      "commit": "0014f9b3e1beedb4473bdb333810fb44e3cdf6f4",
      "tree": "74c09f4860763de7107cc533ad55cb2f9945a4e0",
      "parents": [
        "98421b59b047196e2605ad1696e47ecca890dcf3"
      ],
      "author": {
        "name": "Insun Kang",
        "email": "insun@google.com",
        "time": "Sat Jan 27 01:47:14 2018 +0900"
      },
      "committer": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Sat Jan 27 02:41:08 2018 +0900"
      },
      "message": "MediaSession2 API set for audio focus handling\n\nMediaPlayerInterface has:\n- setAudioAttributes\n- getAudioAttributes\n\nMediaSession2 has:\n- setAudioFocusRequest\n\nTest: build\nBug: 72529899\n\nChange-Id: I07284247d20b0e43d9006232cf5bc59888c4f1d9\n"
    },
    {
      "commit": "98421b59b047196e2605ad1696e47ecca890dcf3",
      "tree": "3fc7a38e8d428a98de0603b9e07366e84ac92cfd",
      "parents": [
        "dd4397861fd98aefae95e6d6036a96f499eaf8b1"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Fri Jan 26 18:11:30 2018 +0900"
      },
      "committer": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Sat Jan 27 02:36:01 2018 +0900"
      },
      "message": "MediaSession2: Add/remove playback listeners\n\nTest: Run all MediaComponents test once\nChange-Id: Ic24a67cbbead7a9d4d420fc03c8004cbd04f61b9\n"
    },
    {
      "commit": "dd4397861fd98aefae95e6d6036a96f499eaf8b1",
      "tree": "815e9e3000a812975eb760ceeb795e6c115ee25f",
      "parents": [
        "d21fb560b26be64a588ff96979022ae4d52f5d3a"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Sat Jan 27 01:30:27 2018 +0900"
      },
      "committer": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Sat Jan 27 02:14:43 2018 +0900"
      },
      "message": "MediaSession2: Fix timing issue\n\nSession/Controller needs mProvider. However, if the createProvider()\ninteracts with other components, than other components may use session\n/controller object before mProvider is set.\n\nThis CL prevents such issues by calling initialize() to communicate\nwith other components after the provider is set.\n\nTest: Run all MediaComponents test once\nChange-Id: Ic6eb1a7f96a2084b3a011da30a5053aff5620977\n"
    },
    {
      "commit": "621289a788c968d46df85ff238c3e41cf0f34476",
      "tree": "bbff113ef6be1bbe158c8082dd7af1e64b068d4b",
      "parents": [
        "550dbe70da5c60da7125b4aea788cc6b16b69ba8"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Fri Jan 26 16:38:42 2018 +0000"
      },
      "committer": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Fri Jan 26 16:38:42 2018 +0000"
      },
      "message": "Revert \"Revert \"MediaSession2: Add playlist parameter supports\"\"\n\nThis reverts commit 550dbe70da5c60da7125b4aea788cc6b16b69ba8.\n\nReason for revert: Only one of the multi-project CL was reverted.\nNeeds to be revert \u0027previous revert\u0027 to fix build.\n\nChange-Id: I09d8dd90b987f4dfc2d426d5b8ccf6800fc5547c\n"
    },
    {
      "commit": "550dbe70da5c60da7125b4aea788cc6b16b69ba8",
      "tree": "2dd2b04517426d017881d33e01049c988f3765cb",
      "parents": [
        "ce07298ecf8fb3520386eb6fcbeac1033da5f362"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Fri Jan 26 16:18:42 2018 +0000"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Fri Jan 26 16:18:42 2018 +0000"
      },
      "message": "Revert \"MediaSession2: Add playlist parameter supports\"\n\nThis reverts commit ce07298ecf8fb3520386eb6fcbeac1033da5f362.\n\nReason for revert: Appears to break master https://android-build.googleplex.com/builds/submitted/4568703/taimen-user/latest/logs/build.log\n\nChange-Id: I08f6af6c91abaadee57e445f6639c424ddb71e0c\n"
    },
    {
      "commit": "ce07298ecf8fb3520386eb6fcbeac1033da5f362",
      "tree": "bbff113ef6be1bbe158c8082dd7af1e64b068d4b",
      "parents": [
        "446e1c241d28a75a7c66edfde983efc58c41773f"
      ],
      "author": {
        "name": "Hyundo Moon",
        "email": "hdmoon@google.com",
        "time": "Fri Jan 26 20:52:46 2018 +0900"
      },
      "committer": {
        "name": "Hyundo Moon",
        "email": "hdmoon@google.com",
        "time": "Fri Jan 26 23:59:25 2018 +0900"
      },
      "message": "MediaSession2: Add playlist parameter supports\n\nThis CL implements following APIs:\n - MediaSession2.get/setPlaylistParams()\n - ControllerCallback.onPlaylistParamsChanged()\n\nMediaController2.get/setPlaylistParams() is not implemented yet.\n\nBug: 72537520\nTest: Passed MediaSession2Test\nChange-Id: Iccbd8f5febb1abd86d8ff819bd611ca7217fb4e1\n"
    },
    {
      "commit": "bd97043f20fed1322879f642b86d0183ed246cf2",
      "tree": "526409c7f3ad057b3530db7ca8f69db2b0c8247e",
      "parents": [
        "1fe914d997e658f2e385ab79d00e6dbf3925cc0d"
      ],
      "author": {
        "name": "Hyundo Moon",
        "email": "hdmoon@google.com",
        "time": "Fri Jan 26 15:43:49 2018 +0900"
      },
      "committer": {
        "name": "Hyundo Moon",
        "email": "hdmoon@google.com",
        "time": "Fri Jan 26 18:10:00 2018 +0900"
      },
      "message": "MediaSession2: Complete transport control commands\n\nBug: 72531854\nTest: Passed MediaController2Test\nChange-Id: I1d52580bd9c95e08561905aba19205caee649de1\n"
    },
    {
      "commit": "1fe914d997e658f2e385ab79d00e6dbf3925cc0d",
      "tree": "faaa892ff2dca778021d774709a2e996254a6d67",
      "parents": [
        "f6f272f8c4bdd41274537761ff0efb7b7a801f3d"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Fri Jan 26 12:58:42 2018 +0900"
      },
      "committer": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Fri Jan 26 13:27:02 2018 +0900"
      },
      "message": "MediaSession2: Change MediaPlayerBase to MediaPlayerInterface\n\nTest: Run all MediaComponents tests once\nBug: 72527150\nChange-Id: I3ad393507f6029b7b3aa2590dc637928faf16d8c\n"
    },
    {
      "commit": "f6f272f8c4bdd41274537761ff0efb7b7a801f3d",
      "tree": "37bb68a1612d71c0e0c7a5cf7282c54921b8271b",
      "parents": [
        "de9a7b5caa3cd8b59630b2bc13e1cb4420618940"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Fri Jan 26 11:49:02 2018 +0900"
      },
      "committer": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Fri Jan 26 13:26:57 2018 +0900"
      },
      "message": "MediaSession2: Use Executor for callback handling\n\nThis also simplifies future work for adding more functions\nTest: Run all MediaComponents test once\n\nChange-Id: Ib9aebd9212368d616dba99792d6ed13b24617885\n"
    },
    {
      "commit": "c21a36910245a441d60f5f3c053e3e1bdaa24d5e",
      "tree": "bb695bab8e5a4ea235536c67c353aaa6e065f84b",
      "parents": [
        "c6116926de37cabb1d35ddd57eaff0e19fcec8bc"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Thu Jan 25 06:18:19 2018 +0900"
      },
      "committer": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Thu Jan 25 11:15:40 2018 +0900"
      },
      "message": "MediaSession2: Apply apilint\n\nTest: make update-api and fixed trivial issues\nChange-Id: I6fb100a284cb7fa59e8cfe2251f8952200a5e5d7\n"
    },
    {
      "commit": "7027e8019ad974d2e474a7fcaf43adedbdf08f23",
      "tree": "46ff65b6c3e7a573fd611ae4935bd8dd8a80bdd6",
      "parents": [
        "bbcbbe4fa36faaca4b066287bd0998c71752d96e"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Thu Jan 25 02:24:31 2018 +0900"
      },
      "committer": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Wed Jan 24 21:55:53 2018 +0000"
      },
      "message": "MediaSession2: Last changes before API unhide\n\nThis CL includes\n- Rename SessionToken to SessionToken2\n- Add repeat/shuffle mode support in PlaylistParam\n- Add Executor params in session builder\n- Add more APIs for MediaPlayerBase\n\nTest: Run all MediaComponents tests once\nChange-Id: I7b74897c4bec377107eb040f950679d59e61f2bf\n"
    },
    {
      "commit": "2bb5626f2dda50ea42a2c686e4c280f72b34181b",
      "tree": "9730876f13ea1d6b9d8657119ee82608df58f43d",
      "parents": [
        "da59499289a68a2558370b6acfd4096d3feb8107"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Wed Jan 24 23:58:55 2018 +0900"
      },
      "committer": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Thu Jan 25 02:10:15 2018 +0900"
      },
      "message": "MediaSession2: Public APIs for MediaBrowser2 and MediaLibraryService2\n\nTest: Run MediaComponents tests once\nChange-Id: I34987fdd681c1b9889ae064b4ba8003ce61181ef\n"
    },
    {
      "commit": "da59499289a68a2558370b6acfd4096d3feb8107",
      "tree": "3ecc34e3896b16ea4830fc9fa1109bbd6ddeb6e9",
      "parents": [
        "254d783c0db9d7af6b863ad1819f5c4a543a939d"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Wed Jan 24 19:04:07 2018 +0900"
      },
      "committer": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Thu Jan 25 01:56:59 2018 +0900"
      },
      "message": "MediaSession2: Public APIs for MediaSession2 and MediaController2\n\nTest: Run MediaComponents tests once\nChange-Id: Iaf643434e9e47b0933c7740fc670346f779a5a15\n"
    },
    {
      "commit": "113a561d324e89b1db5edcc39c903c879e08dd94",
      "tree": "fd11a9b8a1e139690627996c4e9dbd75a084092d",
      "parents": [
        "a98da20073b0b25707bfc6506413085886e78432"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Wed Jan 24 13:25:58 2018 +0900"
      },
      "committer": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Wed Jan 24 19:16:24 2018 +0900"
      },
      "message": "MediaSession2: Stop overriding MediaPlayerBase for session/controller\n\nImplement AutoClosable instead\n\nTest: Run all MediaComponents test once\nChange-Id: I51f733742ca48311ae95ab5b5a873e21cb69f121\n"
    },
    {
      "commit": "5aec249a238ff2dcb9bb5bc0434b7a17fa96a035",
      "tree": "062457725e0ba2b9a819f552a9dae155b608cf2b",
      "parents": [
        "735f3430f9cd1224a68e87b015baca0789debe22"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Tue Jan 23 19:31:34 2018 +0900"
      },
      "committer": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Wed Jan 24 10:57:57 2018 +0900"
      },
      "message": "MediaSession2: Initial commit of MediaLibraryService2\n\nMediaLibraryService2 is the new name for the MediaBrowserService\n\nTest: Run all MediaComponents tests once\nChange-Id: I0a29c4015cd22b5fa4e4e0f55562afd865eea1d6\n"
    },
    {
      "commit": "735f3430f9cd1224a68e87b015baca0789debe22",
      "tree": "dc309aeb319cea4a98d8e0df14fb9656e9d6feeb",
      "parents": [
        "3bad8ce270642d8780f3cd450a0c8af94788fde4"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Tue Jan 23 11:31:53 2018 +0900"
      },
      "committer": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Tue Jan 23 19:44:01 2018 +0900"
      },
      "message": "MediaSession2: Initial commit of MediaBrowser2\n\nTest: Run all MediaComponents tests once\nChange-Id: I395125017d01cd68d66bad5f7ec770a9174f08da\n"
    },
    {
      "commit": "3bad8ce270642d8780f3cd450a0c8af94788fde4",
      "tree": "e5d11750feaec08dae2868da2c229de1c1e827d3",
      "parents": [
        "35a6aa31951fa0178efe7245fe09e628275c2200"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Mon Jan 22 16:56:45 2018 +0900"
      },
      "committer": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Tue Jan 23 14:42:42 2018 +0900"
      },
      "message": "MediaSession2: Introduce MediaSession2.Command / CommandGroup\n\nTest: Run all tests once\nChange-Id: I67d2b09a68bc47a3c9b09be146e8fca6584e5755\n"
    },
    {
      "commit": "35a6aa31951fa0178efe7245fe09e628275c2200",
      "tree": "00e7ebf0619049b353b9627a117526cfe007fd6f",
      "parents": [
        "65a438c6429c7f46cb0ab056c7f672ea0aa9e7f5"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Sun Jan 21 20:54:43 2018 +0900"
      },
      "committer": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Tue Jan 23 14:00:07 2018 +0900"
      },
      "message": "MediaSession2: Move MediaSession2/MediaController2 from experimental\n\nAPIs will be unhidden later\n\nTest: Run MediaComponentsTest\nChange-Id: I4e6f5937baa7e09cf850929e534ac44b5278d744\n"
    }
  ]
}
