)]}'
{
  "log": [
    {
      "commit": "f2b0c11f4e797e183131261724d8de310dac5431",
      "tree": "1f40492f37b26c85ea70766f5e8aa21184b92c43",
      "parents": [
        "70d0c1532f55b5135bd9c96bfa9fc239ab1759a1"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Jul 09 11:59:11 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 10 13:24:23 2012 -0700"
      },
      "message": "Fix sound effect attenuation calculation\n\nThe sound effect volume attenuation calculation is wrong: the\n division by 20 was always returning 1 or 0.\nIn AudioService, rename the sound effect attenuation value to\n follow the naming conventions for static variables.\n\nChange-Id: I3c36d50f4470ff09ca98cb944aefb5ad0f968782\n"
    },
    {
      "commit": "28b7809e309637decc867547dc34b7635785c5f8",
      "tree": "2413cb33cf05e556b76cb83f9885fb6aa19876ab",
      "parents": [
        "792344bc248a7cc64d421a34815183a02d7ad01f",
        "c390bed06b4a572e273ead1254da9a932e04dce3"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jul 10 09:46:54 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 10 09:46:54 2012 -0700"
      },
      "message": "Merge \"AudioService: fix a2dp force use delay\""
    },
    {
      "commit": "c390bed06b4a572e273ead1254da9a932e04dce3",
      "tree": "9c1cc61956dbd9e8f23199f6a1294aa7c1ef6f62",
      "parents": [
        "7603b7ea17a583f09aba8a24ba8fc913b8b2a3da"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jul 03 12:24:05 2012 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Jul 09 10:50:37 2012 -0700"
      },
      "message": "AudioService: fix a2dp force use delay\n\nFixed setBluetoothA2dpOnInt() so that AudioSystem.setForceUse()\nis called synchronously and not via a message.\n\nThis is because the order in which setForceUse() and setDeviceConnectionState()\nare executed is important to avoid audio glitches when called from\nonSetWiredDeviceConnectionState().\n\nBug 6720482.\n\nChange-Id: I09c975d1108fd38f31b047c082acdf944ab790a7\n"
    },
    {
      "commit": "9b52b9c83d4b39c22c0e90d982c145282d829363",
      "tree": "2136840ffbe7872daaef5d098e9a28b91b096e1a",
      "parents": [
        "86fc2c9b742da47acd7f37114ecc6f076dc21c5c",
        "7b5488d85d8ed36c42a821fb0064de741cca35c9"
      ],
      "author": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Tue Jul 03 17:42:37 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jul 03 17:42:37 2012 -0700"
      },
      "message": "am 7b5488d8: am 099fd80f: docs: add throws notice for isPlaying per external issue 33610\n\n* commit \u00277b5488d85d8ed36c42a821fb0064de741cca35c9\u0027:\n  docs: add throws notice for isPlaying per external issue 33610\n"
    },
    {
      "commit": "7b5488d85d8ed36c42a821fb0064de741cca35c9",
      "tree": "0b79ec7028e399c49e6c1f327b9b2904a676a334",
      "parents": [
        "33715d1434ec7070afaffed19214e96fd4f1363d",
        "099fd80f984b8493de58bdda8ea05563261b0af2"
      ],
      "author": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Tue Jul 03 17:39:25 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jul 03 17:39:25 2012 -0700"
      },
      "message": "am 099fd80f: docs: add throws notice for isPlaying per external issue 33610\n\n* commit \u0027099fd80f984b8493de58bdda8ea05563261b0af2\u0027:\n  docs: add throws notice for isPlaying per external issue 33610\n"
    },
    {
      "commit": "099fd80f984b8493de58bdda8ea05563261b0af2",
      "tree": "3331ddcb5a9876b2229947cd9202f0e9ee86ac0f",
      "parents": [
        "4c633ea6f28711d168f690f7443c9523451bdbab"
      ],
      "author": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Tue Jul 03 16:32:11 2012 -0700"
      },
      "committer": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Tue Jul 03 17:32:23 2012 -0700"
      },
      "message": "docs: add throws notice for isPlaying\nper external issue 33610\n\nChange-Id: Ibd778cb4ecc5f1717fa007ac069a7b3660ec4794\n"
    },
    {
      "commit": "f16b211ebfe36544bae832f9b9968b9640720be3",
      "tree": "4cfc65e97177d73c7a9c94b480805860c09b5ef8",
      "parents": [
        "e3fe04165b72dbb60db452d6b2593f96f3e6dd7d",
        "00a82605a17360f5b9005035a75d779a231d5a5c"
      ],
      "author": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Thu Jun 28 12:06:39 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jun 28 12:06:39 2012 -0700"
      },
      "message": "am 00a82605: am f443c5ea: Merge \"Minor corrections to the javadoc overview to reflect late API changes.\" into jb-dev\n\n* commit \u002700a82605a17360f5b9005035a75d779a231d5a5c\u0027:\n  Minor corrections to the javadoc overview to reflect late API changes.\n"
    },
    {
      "commit": "00a82605a17360f5b9005035a75d779a231d5a5c",
      "tree": "8a1b061fa2c447e2b0894fd885c818b5ec3d10af",
      "parents": [
        "9e75d57d05256d86b1814dfa5f43b3fddb320006",
        "f443c5ea2c67285322d4790e5bee4c3c6f6af1ae"
      ],
      "author": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Thu Jun 28 12:04:04 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jun 28 12:04:04 2012 -0700"
      },
      "message": "am f443c5ea: Merge \"Minor corrections to the javadoc overview to reflect late API changes.\" into jb-dev\n\n* commit \u0027f443c5ea2c67285322d4790e5bee4c3c6f6af1ae\u0027:\n  Minor corrections to the javadoc overview to reflect late API changes.\n"
    },
    {
      "commit": "f443c5ea2c67285322d4790e5bee4c3c6f6af1ae",
      "tree": "9dd289f6f4af3de4738232239ecf2f1d5a68a2a7",
      "parents": [
        "399467a94a6420a3dd0daa8937958a6837e55d28",
        "2ac3f2e285159300c62c797bb2123604773ccac7"
      ],
      "author": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Thu Jun 28 12:00:49 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 28 12:00:49 2012 -0700"
      },
      "message": "Merge \"Minor corrections to the javadoc overview to reflect late API changes.\" into jb-dev"
    },
    {
      "commit": "2ac3f2e285159300c62c797bb2123604773ccac7",
      "tree": "5f76a16a2d89b2ab6ab7d2377d598433047b13bb",
      "parents": [
        "e066fd3c9b2270e182eb87be8efb1d5c4aee60e2"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jun 27 11:46:21 2012 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jun 27 11:46:21 2012 -0700"
      },
      "message": "Minor corrections to the javadoc overview to reflect late API changes.\n\nChange-Id: If64e7ea0fa9c892d728282e5e18547a4da115989\n"
    },
    {
      "commit": "68ff8cbc3832811baf2e932b1d96ed64d0a291c0",
      "tree": "a0bbf61888864f1d0ecfd751d19bfea23d7e4566",
      "parents": [
        "899825c55ed153ae5392901e1cfb08bb05b0c12d",
        "1524e625067da52e1365e4f939d4683edeea2fd5"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Tue Jun 26 17:01:53 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jun 26 17:01:53 2012 -0700"
      },
      "message": "am 1524e625: am 7017d51e: Merge \"MtpDatabase: Fix sqlite3 pattern matching for MTP directory deletes\" into jb-dev\n\n* commit \u00271524e625067da52e1365e4f939d4683edeea2fd5\u0027:\n  MtpDatabase: Fix sqlite3 pattern matching for MTP directory deletes\n"
    },
    {
      "commit": "1524e625067da52e1365e4f939d4683edeea2fd5",
      "tree": "539a6b9cc6695e722a3a8d9dd7dbdeeb34276989",
      "parents": [
        "32ef7ef6c8ced560211a3efe5fddc435a2e58916",
        "7017d51e147a0f6ed2370fb79c656c9726304131"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Tue Jun 26 16:59:07 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jun 26 16:59:07 2012 -0700"
      },
      "message": "am 7017d51e: Merge \"MtpDatabase: Fix sqlite3 pattern matching for MTP directory deletes\" into jb-dev\n\n* commit \u00277017d51e147a0f6ed2370fb79c656c9726304131\u0027:\n  MtpDatabase: Fix sqlite3 pattern matching for MTP directory deletes\n"
    },
    {
      "commit": "7017d51e147a0f6ed2370fb79c656c9726304131",
      "tree": "2eb5174260dcf7e56cdb3ea00f70216325a746fe",
      "parents": [
        "947ce39e5648851a5a49e71e22d187402ff1337d",
        "1e855d98aa979b30cee9e096cf6a1cb54df0367b"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Tue Jun 26 16:57:02 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 26 16:57:02 2012 -0700"
      },
      "message": "Merge \"MtpDatabase: Fix sqlite3 pattern matching for MTP directory deletes\" into jb-dev"
    },
    {
      "commit": "1e855d98aa979b30cee9e096cf6a1cb54df0367b",
      "tree": "e0bf164d01c23d7d0e0f1821171498b676d43208",
      "parents": [
        "dbbfa702a09f6d2d36dee1b552442d04a4673f89"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Tue Jun 26 16:31:41 2012 -0700"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Tue Jun 26 16:33:05 2012 -0700"
      },
      "message": "MtpDatabase: Fix sqlite3 pattern matching for MTP directory deletes\n\nBug: 6684451\n\nChange-Id: I90204550ccfcd1b7a5b1973bed2a88e934aae053\nSigned-off-by: Mike Lockwood \u003clockwood@google.com\u003e\n"
    },
    {
      "commit": "7b10a492bc9fa21039eb93bd0fe6d387001f7a7f",
      "tree": "83bc994dc89a922a65fc0807078ea7c83186b662",
      "parents": [
        "9da69580848664ce69dd4237608d5e59b36a6833",
        "6dfd6aec2730bfdde6da646dafa8597a34a17b4e"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Jun 25 14:56:06 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jun 25 14:56:06 2012 -0700"
      },
      "message": "am 6dfd6aec: am c8c5e98b: Merge \"Document some of the more common mimetypes to be used when instantiating\" into jb-dev\n\n* commit \u00276dfd6aec2730bfdde6da646dafa8597a34a17b4e\u0027:\n  Document some of the more common mimetypes to be used when instantiating\n"
    },
    {
      "commit": "6dfd6aec2730bfdde6da646dafa8597a34a17b4e",
      "tree": "00f39dc7ba1cc417a244e31fbf2f74cf27673ffc",
      "parents": [
        "1520e9aeea89790738a746bbf0ac7689e5296ef2",
        "c8c5e98b9ea0be4d161382fc537955d505e65a6c"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Jun 25 14:53:07 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jun 25 14:53:07 2012 -0700"
      },
      "message": "am c8c5e98b: Merge \"Document some of the more common mimetypes to be used when instantiating\" into jb-dev\n\n* commit \u0027c8c5e98b9ea0be4d161382fc537955d505e65a6c\u0027:\n  Document some of the more common mimetypes to be used when instantiating\n"
    },
    {
      "commit": "68b1a6eed8479e16456f018663b1bcfaecc2a3f4",
      "tree": "cbae55d83b9a35649cec6ab70f0546bc00acdd4c",
      "parents": [
        "dbbfa702a09f6d2d36dee1b552442d04a4673f89"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Jun 25 13:53:43 2012 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Jun 25 14:38:16 2012 -0700"
      },
      "message": "Document some of the more common mimetypes to be used when instantiating\n\nMediaCodec components.\n\nChange-Id: I810507d1d76a28666eb6fb63e3b597d38e5f1389\n"
    },
    {
      "commit": "c497bc69e90adc3114967bb12f82dfcaf52c7d65",
      "tree": "5e6ed76c81def9ef6652a6ad8d712fdce669ff09",
      "parents": [
        "a571019856cbbc89c38704cee1e963eed886fb29",
        "3c419da632c7f332a50e5001331544cb8c919dce"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Sun Jun 24 14:59:03 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sun Jun 24 14:59:03 2012 -0700"
      },
      "message": "am 3c419da6: am dbbfa702: Fix MediaRouter bugs\n\n* commit \u00273c419da632c7f332a50e5001331544cb8c919dce\u0027:\n  Fix MediaRouter bugs\n"
    },
    {
      "commit": "3c419da632c7f332a50e5001331544cb8c919dce",
      "tree": "80d6648735b90c990481e689cb3ba18a6093c003",
      "parents": [
        "1e546247b5b583e772102044d09d8e3dc2ce6d47",
        "dbbfa702a09f6d2d36dee1b552442d04a4673f89"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Sun Jun 24 14:56:06 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sun Jun 24 14:56:06 2012 -0700"
      },
      "message": "am dbbfa702: Fix MediaRouter bugs\n\n* commit \u0027dbbfa702a09f6d2d36dee1b552442d04a4673f89\u0027:\n  Fix MediaRouter bugs\n"
    },
    {
      "commit": "dbbfa702a09f6d2d36dee1b552442d04a4673f89",
      "tree": "a16c72409533902cded3d9583be22317d092108e",
      "parents": [
        "40a0376ea5ac597d8df04fd3e4ad8bde7ac7c9ec"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Sun Jun 24 14:30:46 2012 -0700"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Sun Jun 24 14:32:04 2012 -0700"
      },
      "message": "Fix MediaRouter bugs\n\nFix a bug where a newly added group had no supported types at the time\nof callback dispatch, meaning that no registered callbacks would be\ninvoked.\n\nFix a bug where subscribed type flags were not updated properly when\nre-adding a callback for new types.\n\nChange-Id: I7d9f11b363ebdca692786cec1d432600946e5721\n"
    },
    {
      "commit": "0c26f97684f131624aadc8cea05f0f07ac0e7d89",
      "tree": "c564040f2b978dea3ca6bd8a1b76121761c70489",
      "parents": [
        "11905d5974337eda676c69e5d7bca61f80025199",
        "3b939b7242f9c4155f4d8b34cb474abc77c6417f"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Sat Jun 23 05:39:23 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Jun 23 05:39:23 2012 -0700"
      },
      "message": "am 3b939b72: am fd3fd482: Merge \"Update route count properly when MediaRouteButton detects grouped/ungrouped events\" into jb-dev\n\n* commit \u00273b939b7242f9c4155f4d8b34cb474abc77c6417f\u0027:\n  Update route count properly when MediaRouteButton detects grouped/ungrouped events\n"
    },
    {
      "commit": "3b939b7242f9c4155f4d8b34cb474abc77c6417f",
      "tree": "6866ea9f9986c0376af105dc5af32c543e51c6a2",
      "parents": [
        "b9975454ed01ba88aaa1b95b631e45e425982564",
        "fd3fd482ab6ab67b687696f51fa67714bd36fa49"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Sat Jun 23 05:36:54 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Jun 23 05:36:54 2012 -0700"
      },
      "message": "am fd3fd482: Merge \"Update route count properly when MediaRouteButton detects grouped/ungrouped events\" into jb-dev\n\n* commit \u0027fd3fd482ab6ab67b687696f51fa67714bd36fa49\u0027:\n  Update route count properly when MediaRouteButton detects grouped/ungrouped events\n"
    },
    {
      "commit": "f3b653a21cdffe04c94c275e69ecb56e00766e82",
      "tree": "1709526a633c5e433a3b971d4fb93cb77772eec4",
      "parents": [
        "ddeb7bd3c7593d51d4d2bfd9fe39d5f0ffa05d89"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Fri Jun 22 18:19:08 2012 -0700"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Fri Jun 22 19:22:38 2012 -0700"
      },
      "message": "Update route count properly when MediaRouteButton detects\ngrouped/ungrouped events\n\nChange-Id: I1b00678cc3b548f347c51c3fcbfce18ecc8fbabe\n"
    },
    {
      "commit": "c7be481af1ea9ed4c849cc83dd095e8835d2b5f6",
      "tree": "c30c3086bf3751dc0ee288d6ed1e202bcce05d04",
      "parents": [
        "18f4fefb85c4cfad70f308b3d916f74eb060cc1a",
        "fd7ea06787f0be4def188621888d228f38f3a4d1"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Thu Jun 21 12:03:55 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jun 21 12:03:55 2012 -0700"
      },
      "message": "am fd7ea067: am d7c00d2b: Merge \"MediaRouter group volume reporting\" into jb-dev\n\n* commit \u0027fd7ea06787f0be4def188621888d228f38f3a4d1\u0027:\n  MediaRouter group volume reporting\n"
    },
    {
      "commit": "fd7ea06787f0be4def188621888d228f38f3a4d1",
      "tree": "38470fb35388ba84903b5f0c2d5c7c617aa6ee28",
      "parents": [
        "7059a022fec306121885f207b4ab89d4302967a0",
        "d7c00d2bdd011d3a73faf1c4a5bb8012d24dd648"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Thu Jun 21 11:52:19 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jun 21 11:52:19 2012 -0700"
      },
      "message": "am d7c00d2b: Merge \"MediaRouter group volume reporting\" into jb-dev\n\n* commit \u0027d7c00d2bdd011d3a73faf1c4a5bb8012d24dd648\u0027:\n  MediaRouter group volume reporting\n"
    },
    {
      "commit": "f8ac14a7f5a59b4ec8e89283a2da40b626e42065",
      "tree": "bb40079ff45415be44957efebf7a1c9bd0ff1032",
      "parents": [
        "09829b71de3a84cb9d1bc0d8aad78dd16daadddf"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Wed Jun 20 23:46:19 2012 -0700"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Wed Jun 20 23:59:14 2012 -0700"
      },
      "message": "MediaRouter group volume reporting\n\nRouteGroups always report back the loudest volume of their component\nroutes. Maintain this through volume update requests (such as those\nreported by volume hard keys) such that each route updates\nindividually, but the group slider always indicates the loudest value.\n\nChange-Id: I5de4b9048bf55682b6271e9485fe50496a1c97c2\n"
    },
    {
      "commit": "a08e6881c58c56aba2ac1f6e02db1529e10f9e6e",
      "tree": "0f65fcff7ce984c832b8b821d59f1a96ea1ad3e2",
      "parents": [
        "3650ce0479b35e2bfdc549cd0c49f041ddbffc56",
        "ed044cda8f6a7600923eecdec682c449f86e0429"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Wed Jun 20 22:45:09 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jun 20 22:45:09 2012 -0700"
      },
      "message": "am ed044cda: am 09829b71: Merge \"Expand volume APIs for MediaRouter\" into jb-dev\n\n* commit \u0027ed044cda8f6a7600923eecdec682c449f86e0429\u0027:\n  Expand volume APIs for MediaRouter\n"
    },
    {
      "commit": "ed044cda8f6a7600923eecdec682c449f86e0429",
      "tree": "4490dcec1420a23271655221ec11d2c17e174989",
      "parents": [
        "071ed3348739cb3f2bb9ef169067440c8c61b881",
        "09829b71de3a84cb9d1bc0d8aad78dd16daadddf"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Wed Jun 20 22:35:44 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jun 20 22:35:44 2012 -0700"
      },
      "message": "am 09829b71: Merge \"Expand volume APIs for MediaRouter\" into jb-dev\n\n* commit \u002709829b71de3a84cb9d1bc0d8aad78dd16daadddf\u0027:\n  Expand volume APIs for MediaRouter\n"
    },
    {
      "commit": "8e37a85bf3dc39519942698dc90a3951306b934b",
      "tree": "eb90d07708b259a54106b448edbb5b5d2c78b5b0",
      "parents": [
        "bd6b1820d931ef11fc7fc5b8571a8265c1ed4994"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Wed Jun 20 15:56:39 2012 -0700"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Wed Jun 20 22:19:29 2012 -0700"
      },
      "message": "Expand volume APIs for MediaRouter\n\nAllow applications to set a requested volume level on RouteInfo\nobjects. If requested for a user route, the app-supplied callback will\nbe invoked to perform actual volume adjustment.\n\nChange-Id: I856990a0da7292492aa15e6562dbc3d055b848a0\n"
    },
    {
      "commit": "ecab2aab19263826447cfed1586232d2e8672139",
      "tree": "be4feb28ea217e80333cf39b2ed859152befebbb",
      "parents": [
        "63258b253ccce8add3fd424c5a05998cdf179c2e",
        "e44440f40c6b005dce2eba1b37b3cabe97133152"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Jun 20 16:46:55 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jun 20 16:46:55 2012 -0700"
      },
      "message": "am e44440f4: am bd6b1820: Merge \"Unhide new API in android.media.MediaRouter for remote playback\" into jb-dev\n\n* commit \u0027e44440f40c6b005dce2eba1b37b3cabe97133152\u0027:\n  Unhide new API in android.media.MediaRouter for remote playback\n"
    },
    {
      "commit": "63258b253ccce8add3fd424c5a05998cdf179c2e",
      "tree": "cffa353725d5e94fe389d251e324507518924a91",
      "parents": [
        "05187871c17ea34d36b7a75f770a3f33ab3c8c9f",
        "7fe75d9759544d9b2eccac19aacb8c3992dfcc02"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Jun 20 16:46:51 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jun 20 16:46:51 2012 -0700"
      },
      "message": "am 7fe75d97: am fc178e38: Merge \"Asynchronous handling of remote volume updates\" into jb-dev\n\n* commit \u00277fe75d9759544d9b2eccac19aacb8c3992dfcc02\u0027:\n  Asynchronous handling of remote volume updates\n"
    },
    {
      "commit": "e44440f40c6b005dce2eba1b37b3cabe97133152",
      "tree": "40413b52fb2c7607129f9cc95c65f782afa9dcd2",
      "parents": [
        "7fe75d9759544d9b2eccac19aacb8c3992dfcc02",
        "bd6b1820d931ef11fc7fc5b8571a8265c1ed4994"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Jun 20 16:43:55 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jun 20 16:43:55 2012 -0700"
      },
      "message": "am bd6b1820: Merge \"Unhide new API in android.media.MediaRouter for remote playback\" into jb-dev\n\n* commit \u0027bd6b1820d931ef11fc7fc5b8571a8265c1ed4994\u0027:\n  Unhide new API in android.media.MediaRouter for remote playback\n"
    },
    {
      "commit": "7fe75d9759544d9b2eccac19aacb8c3992dfcc02",
      "tree": "347a65906eead09921133f9c2d3f8d346682a607",
      "parents": [
        "1806afb2c48eefea8a881fece8dc5233d403d649",
        "fc178e381d3db299901a96461122eb22a4ffb43e"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Jun 20 16:43:52 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jun 20 16:43:52 2012 -0700"
      },
      "message": "am fc178e38: Merge \"Asynchronous handling of remote volume updates\" into jb-dev\n\n* commit \u0027fc178e381d3db299901a96461122eb22a4ffb43e\u0027:\n  Asynchronous handling of remote volume updates\n"
    },
    {
      "commit": "2cd5d253786b115470adc04a3609358f5eb7eb0a",
      "tree": "c594fece1b63ea1a9f77c1639c528aed10bf9a0a",
      "parents": [
        "f98de1e8dd6dcbd191921b4aa07a1d41b0b9db91"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Jun 20 14:34:05 2012 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Jun 20 14:36:23 2012 -0700"
      },
      "message": "Unhide new API in android.media.MediaRouter for remote playback\n\nExpose new functionality for handling remote volume in:\n android.media.MediaRouter.RouteInfo\n android.media.MediaRouter.UserRouteInfo\n android.media.MediaRouter.VolumeCallback\n\nChange-Id: I8fd9c92be606364599e65939f318e11c2860bab9\n"
    },
    {
      "commit": "f98de1e8dd6dcbd191921b4aa07a1d41b0b9db91",
      "tree": "9cd7b6a6a3afcf38420fdc7910d2e51d78ecaeb8",
      "parents": [
        "18ddb6ce6f3672a24a6f86ee4b28f5baa746bc20"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Jun 20 13:40:22 2012 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Jun 20 13:40:22 2012 -0700"
      },
      "message": "Asynchronous handling of remote volume updates\n\nRemote playback information updates will be posted from the\n application thread, and sent to AudioService. Because they\n require locking the stack containing the remote playback\n information, the update should happen on AudioService\u0027s handler\n thread to avoid lock contention.\n\nChange-Id: Ie04898295e08c16dd8ab5985fd825301e9cf1981\n"
    },
    {
      "commit": "6009dc014f8fa0aefc68e7265761960c5433d108",
      "tree": "e07d665f8971abdbfbd8e92063b32db9c475991c",
      "parents": [
        "0fa755a7bb78f67b244d26c472bf279800558c57",
        "b92d2a13c4ab34862968f47191d2713de3701757"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Jun 20 09:12:59 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jun 20 09:12:59 2012 -0700"
      },
      "message": "am b92d2a13: am 18ddb6ce: Merge \"Remote volume handling in MediaRouter\" into jb-dev\n\n* commit \u0027b92d2a13c4ab34862968f47191d2713de3701757\u0027:\n  Remote volume handling in MediaRouter\n"
    },
    {
      "commit": "b92d2a13c4ab34862968f47191d2713de3701757",
      "tree": "5e8bf4d95313db452e96c47b15df24a744bc82c5",
      "parents": [
        "eb47f9c81dee7c277e77f77ff977ec5f1ded5bc1",
        "18ddb6ce6f3672a24a6f86ee4b28f5baa746bc20"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Jun 20 09:10:18 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jun 20 09:10:18 2012 -0700"
      },
      "message": "am 18ddb6ce: Merge \"Remote volume handling in MediaRouter\" into jb-dev\n\n* commit \u002718ddb6ce6f3672a24a6f86ee4b28f5baa746bc20\u0027:\n  Remote volume handling in MediaRouter\n"
    },
    {
      "commit": "1357012968f9066ea3051d83995e9bac69526c3c",
      "tree": "3f633ea7356eb17d96bfc0f717ad9c38a35196fa",
      "parents": [
        "fe54cb6f3da7fe95d5141d97b0c6780e001ad058"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Jun 19 14:03:09 2012 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Jun 19 19:41:35 2012 -0700"
      },
      "message": "Remote volume handling in MediaRouter\n\nExtend MediaRouter.UserRouteInfo to enable setting playback\n information, which includes volume. When the user route instance\n has a RemoteControlClient, forward any playback information to it.\n Enable specifying a callback to be notified of volume events\n on the route.\nExtend MediaRouter.RouteInfo to enable retrieving playback\n information.\n\nUpdate RemoteControlClient javadoc to reflect which parts of the\n API are not intended to be made public.\n\nChange-Id: I59d728eb61747af6c8c89d53f0faeb07940594c3\n"
    },
    {
      "commit": "629f051f7d061f4db4a174dbd267a96f0c8113df",
      "tree": "bf5a09cf143fb5087939d6aa73fbd73aa217b673",
      "parents": [
        "880c5f5aea737aee885bc4abee76c11db565f9d7",
        "586b8ee62e0245e3c88ce9db51e1c1c3b4f1fb2c"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Jun 19 10:59:15 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jun 19 10:59:15 2012 -0700"
      },
      "message": "am 586b8ee6: am 2f442304: Merge \"Remote volume handling\" into jb-dev\n\n* commit \u0027586b8ee62e0245e3c88ce9db51e1c1c3b4f1fb2c\u0027:\n  Remote volume handling\n"
    },
    {
      "commit": "586b8ee62e0245e3c88ce9db51e1c1c3b4f1fb2c",
      "tree": "a6f4d1152c2b54921d694eb9eede521033500f56",
      "parents": [
        "345ca5a104eb6e867a9ad982e1b3f6d037ba0171",
        "2f4423043ffeaf232ec984be03743326f08cdc8a"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Jun 19 10:56:28 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jun 19 10:56:28 2012 -0700"
      },
      "message": "am 2f442304: Merge \"Remote volume handling\" into jb-dev\n\n* commit \u00272f4423043ffeaf232ec984be03743326f08cdc8a\u0027:\n  Remote volume handling\n"
    },
    {
      "commit": "2f4423043ffeaf232ec984be03743326f08cdc8a",
      "tree": "e1ea822923119e84b19c67ff9ec057cee02f2b4d",
      "parents": [
        "5bb835a95942b0b313b2fa4e3f05941e630f9be7",
        "3114ce3861f20f9a5c2c59dd2629197a1f4874a8"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Jun 19 10:54:32 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 19 10:54:32 2012 -0700"
      },
      "message": "Merge \"Remote volume handling\" into jb-dev"
    },
    {
      "commit": "e97d22211095cd5a6257887ff2bc01ccf5d4ec2e",
      "tree": "04aac8083212f9bed59bb074a236ba3892855e4c",
      "parents": [
        "4f8ecd80296508a1dc69d3f3a23fd91e962c2784",
        "29a2f84fbee96c1bbbcb50eceb17d9b726854146"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Mon Jun 18 21:43:46 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jun 18 21:43:46 2012 -0700"
      },
      "message": "am 29a2f84f: am 5bb835a9: Merge \"MediaRouter bluetooth a2dp selection\" into jb-dev\n\n* commit \u002729a2f84fbee96c1bbbcb50eceb17d9b726854146\u0027:\n  MediaRouter bluetooth a2dp selection\n"
    },
    {
      "commit": "29a2f84fbee96c1bbbcb50eceb17d9b726854146",
      "tree": "a832ca5de5b494f8433ac7a034f4804aef7cb78e",
      "parents": [
        "4c268a32714fefe141d093abb59806a2d6f2991c",
        "5bb835a95942b0b313b2fa4e3f05941e630f9be7"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Mon Jun 18 21:40:19 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jun 18 21:40:19 2012 -0700"
      },
      "message": "am 5bb835a9: Merge \"MediaRouter bluetooth a2dp selection\" into jb-dev\n\n* commit \u00275bb835a95942b0b313b2fa4e3f05941e630f9be7\u0027:\n  MediaRouter bluetooth a2dp selection\n"
    },
    {
      "commit": "dd0a19266d5c837069da1ea188744d54c8d723a8",
      "tree": "b8e53488e619b07d43e321289d230c0a2995c88e",
      "parents": [
        "eb2c1b21c6835399fa55227e498fb2930e533439"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Mon Jun 18 16:14:46 2012 -0700"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Mon Jun 18 19:51:02 2012 -0700"
      },
      "message": "MediaRouter bluetooth a2dp selection\n\nRemove bluetooth permission check from internal AudioService method\nsetBluetoothA2dpOn\n\nManage BT A2DP state in MediaRouter. A2DP is only enabled or disabled\nwhen either the system built-in audio route or the A2DP audio route is\nselected; when selecting any other route the current state is left\nalone.\n\nChange-Id: Ib14274e206e79bd8762edca1205ecfa87b7a94cf\n"
    },
    {
      "commit": "3114ce3861f20f9a5c2c59dd2629197a1f4874a8",
      "tree": "c23f8f5c493fecd904022333cac099451fb20d6b",
      "parents": [
        "4cb3b76caa004867bac43f0001072e24bfa8c120"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Jun 11 15:03:52 2012 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Jun 18 18:37:17 2012 -0700"
      },
      "message": "Remote volume handling\n\nExtend RemoteControlClient class to enable an applicaton to\n specify more information about how it\u0027s playing media, now covering\n usecases where media playback happens \"remotely\". This playback\n information can be used to set the volume and maximum volume\n used remotely.\nDeclare a new intent and associated extras in Intent,\n ACTION_VOLUME_UPDATE, so an application can be notified that\n the volume it handles should be updated. It can then use\n the new RemoteControlClient.setPlaybackInformation() method\n to notify AudioService what the volume is.\nExtend AudioService to maintain playback information associated\n with the RemoteControlClient information in the stack of\n media button event receivers (mRCStack). The information\n about the active remote is cached so the stack doesn\u0027t have\n to be iterated over in order to retrieve remote playback info.\n Events to \"adjust\" the remote volume based on hardware key\n presses cause the client application to be notified of\n volume updates, and the volume panel to display the volume\n set by the app.\n Revise which stream type is controlled when none is specified\n according to latest guidelines for remote playback.\nUpdate VolumePanel class to support a new pseudo stream type,\n AudioService.STREAM_REMOTE_MUSIC, that corresponds to the\n remote playback volume, and uses the new \"media route\" icon.\n Enable it to receive asynchronously new volume values for\n the remote that will be displayed if the UI is still up,\n and ignored otherwise.\n Now supports hiding/showing sliders dynamically so remote\n volume only appears when AudioService has a remote control\n client handling remote volume.\nDefine new java symbols for the two media route icons.\nModify lockscreen behavior: don\u0027t automatically control music\n volume when music is active, consider also remote playback.\n\nStill to do:\n- playback information set by RemoteControlClient should post\n  a message for AudioService to update playback information\n  instead of updating it synchronously\n\nChange-Id: I557aa687239f9acfe33a609f05876c67fa7eb967\n"
    },
    {
      "commit": "987f4a504aa90a99bc4930fe9ee35c52907bca80",
      "tree": "89f899b33210333e36d43ccbdf018f35004d50e0",
      "parents": [
        "3281c38ec4bf53731df2ccc18f65b469ee52720b",
        "12c2fbd3b7e98132fe1388b065a5dd09c20ef390"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Mon Jun 18 12:13:57 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jun 18 12:13:57 2012 -0700"
      },
      "message": "am 12c2fbd3: am eb2c1b21: Merge \"Restrict MediaRouter selection\" into jb-dev\n\n* commit \u002712c2fbd3b7e98132fe1388b065a5dd09c20ef390\u0027:\n  Restrict MediaRouter selection\n"
    },
    {
      "commit": "12c2fbd3b7e98132fe1388b065a5dd09c20ef390",
      "tree": "9ee51740fe2f0661c7e443d5d2e060b51e11bf17",
      "parents": [
        "45c4a8df9487f53af37ded1f5a1ebe500e89b493",
        "eb2c1b21c6835399fa55227e498fb2930e533439"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Mon Jun 18 12:12:00 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jun 18 12:12:00 2012 -0700"
      },
      "message": "am eb2c1b21: Merge \"Restrict MediaRouter selection\" into jb-dev\n\n* commit \u0027eb2c1b21c6835399fa55227e498fb2930e533439\u0027:\n  Restrict MediaRouter selection\n"
    },
    {
      "commit": "4ee1f55ce0f4909a7430ab44563a81852f335071",
      "tree": "e8434de6db613b12124ff3b62b97064eecf72e6a",
      "parents": [
        "1c1ece1bd2ecfa6eacd1a1de8f529e81415f165d"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Mon Jun 18 11:51:34 2012 -0700"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Mon Jun 18 11:52:17 2012 -0700"
      },
      "message": "Restrict MediaRouter selection\n\nActually restrict the programmatic selection of routes by\ntype. (Oops.)\n\nChange-Id: I91e837f7ecbcddb626c664fb470e8296d563498d\n"
    },
    {
      "commit": "0be17da62000996318ecc50e2563bfd9be3fd052",
      "tree": "72c560f50856d3668801d1246bdbbf91b4278b5b",
      "parents": [
        "9471faf5dcc3ebf88bbc1a01809eb7312e65f829",
        "c92aa2e7c9112adafc5283921efe25574a95b7a4"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Mon Jun 18 10:49:56 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jun 18 10:49:56 2012 -0700"
      },
      "message": "am c92aa2e7: am 1b4dc0fe: Merge \"Volume control in MediaRouter dialogs\" into jb-dev\n\n* commit \u0027c92aa2e7c9112adafc5283921efe25574a95b7a4\u0027:\n  Volume control in MediaRouter dialogs\n"
    },
    {
      "commit": "9471faf5dcc3ebf88bbc1a01809eb7312e65f829",
      "tree": "44fcabb595a4c4b508bca0d3750c801c8f36e61d",
      "parents": [
        "91a5f4bef5720cf38e61634fd1337901bf17c694",
        "8f695c525f5baa623a8b951bd3a1fd2b5efd1ceb"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Mon Jun 18 10:49:53 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jun 18 10:49:53 2012 -0700"
      },
      "message": "am 8f695c52: am 706a8699: Merge \"Make MediaRouter UI more robust around route count changes\" into jb-dev\n\n* commit \u00278f695c525f5baa623a8b951bd3a1fd2b5efd1ceb\u0027:\n  Make MediaRouter UI more robust around route count changes\n"
    },
    {
      "commit": "7e8aac14c3a930dea0ca7a1d1e0e8a384fbf8916",
      "tree": "3cd85a9e93876c7a96993c5bbd80be2dd87dbb0f",
      "parents": [
        "d466fe463b6c4a1a5694d5a42810af60ad782a2c",
        "bb20575f85ada8ccdacefc53f0da7e00fdf12a16"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Mon Jun 18 10:49:41 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jun 18 10:49:41 2012 -0700"
      },
      "message": "am bb20575f: am 130b4572: ActionProvider API update\n\n* commit \u0027bb20575f85ada8ccdacefc53f0da7e00fdf12a16\u0027:\n  ActionProvider API update\n"
    },
    {
      "commit": "5ded10982c46c0f13cb8eeb4cc9ebec16baa3760",
      "tree": "d16980322abf701606b89ddd22edbb800369a82b",
      "parents": [
        "2c0044410ee30bdba19870931374338b36c33ce9",
        "acae5bd34923a79115ad24687558a6ab2ce780ec"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jun 18 10:49:15 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jun 18 10:49:15 2012 -0700"
      },
      "message": "am acae5bd3: am 87959cdd: Merge \"Add new callback for MediaRouter to found out about device changes.\" into jb-dev\n\n* commit \u0027acae5bd34923a79115ad24687558a6ab2ce780ec\u0027:\n  Add new callback for MediaRouter to found out about device changes.\n"
    },
    {
      "commit": "2c0044410ee30bdba19870931374338b36c33ce9",
      "tree": "8dfd5a8822154f34bc14197422d1ae661a9fd7ec",
      "parents": [
        "eaef0d8bb53f6ebe3977c535578e0e634f169a55",
        "9686f24ce3d13446393a468fb3f52283bf2bc80d"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Jun 18 10:49:12 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jun 18 10:49:12 2012 -0700"
      },
      "message": "am 9686f24c: am c4f4b0f0: Merge \"AudioManager: back to old setBluetoothA2dpOn()\" into jb-dev\n\n* commit \u00279686f24ce3d13446393a468fb3f52283bf2bc80d\u0027:\n  AudioManager: back to old setBluetoothA2dpOn()\n"
    },
    {
      "commit": "c92aa2e7c9112adafc5283921efe25574a95b7a4",
      "tree": "ffb509d9a4339d1f30a81c7e4c7609d1bcbdcf84",
      "parents": [
        "8f695c525f5baa623a8b951bd3a1fd2b5efd1ceb",
        "1b4dc0fe00805f82fb4bb89a97b6b0501e117505"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Mon Jun 18 10:34:32 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jun 18 10:34:32 2012 -0700"
      },
      "message": "am 1b4dc0fe: Merge \"Volume control in MediaRouter dialogs\" into jb-dev\n\n* commit \u00271b4dc0fe00805f82fb4bb89a97b6b0501e117505\u0027:\n  Volume control in MediaRouter dialogs\n"
    },
    {
      "commit": "8f695c525f5baa623a8b951bd3a1fd2b5efd1ceb",
      "tree": "2ddba722a8ed378acb5ce5aa5d395fca4abfd546",
      "parents": [
        "7947698096d4b09bb0f662fdca89cfa5d475743e",
        "706a8699008ce416a7fbd9a4215726fdb00ee803"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Mon Jun 18 10:34:29 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jun 18 10:34:29 2012 -0700"
      },
      "message": "am 706a8699: Merge \"Make MediaRouter UI more robust around route count changes\" into jb-dev\n\n* commit \u0027706a8699008ce416a7fbd9a4215726fdb00ee803\u0027:\n  Make MediaRouter UI more robust around route count changes\n"
    },
    {
      "commit": "bb20575f85ada8ccdacefc53f0da7e00fdf12a16",
      "tree": "5b179686d35058a5bcf37e436de1a66083f51d8b",
      "parents": [
        "608601924651531210ad3c6179d02c471f42dddf",
        "130b4572d1f3df702e5b296a655d15a41f6d4c66"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Mon Jun 18 10:33:19 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jun 18 10:33:19 2012 -0700"
      },
      "message": "am 130b4572: ActionProvider API update\n\n* commit \u0027130b4572d1f3df702e5b296a655d15a41f6d4c66\u0027:\n  ActionProvider API update\n"
    },
    {
      "commit": "acae5bd34923a79115ad24687558a6ab2ce780ec",
      "tree": "f768b6bed80f4708d1332b58b29b121f4ead4447",
      "parents": [
        "9686f24ce3d13446393a468fb3f52283bf2bc80d",
        "87959cdd8560e743956a71bb687799e94053e086"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jun 18 10:31:29 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jun 18 10:31:29 2012 -0700"
      },
      "message": "am 87959cdd: Merge \"Add new callback for MediaRouter to found out about device changes.\" into jb-dev\n\n* commit \u002787959cdd8560e743956a71bb687799e94053e086\u0027:\n  Add new callback for MediaRouter to found out about device changes.\n"
    },
    {
      "commit": "9686f24ce3d13446393a468fb3f52283bf2bc80d",
      "tree": "a343b55d2a80a36c94829ee858d84d2fe94aee2d",
      "parents": [
        "c1d3b23b54bb044bc2fbff83f1a3816b3a0f276b",
        "c4f4b0f0a4905180314d1a681ddf5767ed1070ed"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Jun 18 10:31:22 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jun 18 10:31:22 2012 -0700"
      },
      "message": "am c4f4b0f0: Merge \"AudioManager: back to old setBluetoothA2dpOn()\" into jb-dev\n\n* commit \u0027c4f4b0f0a4905180314d1a681ddf5767ed1070ed\u0027:\n  AudioManager: back to old setBluetoothA2dpOn()\n"
    },
    {
      "commit": "4599696591f745b3a546197d2ba7e5cfc5562484",
      "tree": "deb99136c03e9100fa6727fe8b7b23dcf7f21c8c",
      "parents": [
        "39d5c6172503620ac3761148adac5fd7fa20d02d"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Sat Jun 16 14:58:39 2012 -0700"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Sat Jun 16 17:21:57 2012 -0700"
      },
      "message": "Volume control in MediaRouter dialogs\n\nMediaRouter dialogs now intercept the volume keys for altering the\ncurrent volume. The status icon indicates if the slider/buttons are\ncurrently controlling the local device volume or a remote device\u0027s\nvolume.\n\nGroup volume for user routes is handled by using the\nRemoteControlClient supplied by the first route in the group.\n\nChange-Id: I40a0d054847ed5acce7a4c3b669487841b4dca15\n"
    },
    {
      "commit": "39d5c6172503620ac3761148adac5fd7fa20d02d",
      "tree": "8720e26aeab2ae36577309dd912be3f0933c6f14",
      "parents": [
        "c4637d3efbbeb3e204691da96c357b5fea4ae2f1"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Sat Jun 16 14:25:38 2012 -0700"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Sat Jun 16 14:49:13 2012 -0700"
      },
      "message": "Make MediaRouter UI more robust around route count changes\n\nImprove the API around ActionProvider visibility overriding. Allow the\napplication to notify whatever is hosting the ActionProvider that\nvisibility has changed in a way that is friendly to alternate support\nlibrary-style reimplementations of MenuItem.\n\nAllow MediaRouter.Callback implementations to add or remove themselves\nor other Callbacks during dispatch of callback events.\n\nMake MediaRouteActionProvider track the visibility of corresponding\nmenu items more accurately.\n\nChange-Id: Ic7ddb6a87c3637904750d2661e4a9fa323b09ea0\n"
    },
    {
      "commit": "130b4572d1f3df702e5b296a655d15a41f6d4c66",
      "tree": "dcbeec24c1138901ac4925446d20b810887267e2",
      "parents": [
        "d8bbf96a84cba7c31fa1535fe2467520f2aa0198"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Fri Jun 15 19:21:34 2012 -0700"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Fri Jun 15 20:19:29 2012 -0700"
      },
      "message": "ActionProvider API update\n\n* Add ActionProvider#overridesItemVisibility and isVisible.\n  These methods allow an ActionProvider to override the\n  visibility of a MenuItem that it is bound to. If a MenuItem\n  has been explicitly hidden by the application, it will not\n  be visible.\n\n* Change MediaRouteActionProvider to not require a MediaRouter\n  callback, to avoid extra lifecycle management headaches.\n\nChange-Id: I606fa98b3a6a3e60a953dd024274f9bf9c67acdd\n"
    },
    {
      "commit": "87959cdd8560e743956a71bb687799e94053e086",
      "tree": "e32c058fe1721e29341068b27ad2686e38b60361",
      "parents": [
        "c4f4b0f0a4905180314d1a681ddf5767ed1070ed",
        "632ca417f0a33e3fa9ccece531afa2db3f0d4a30"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jun 15 14:10:42 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 15 14:10:42 2012 -0700"
      },
      "message": "Merge \"Add new callback for MediaRouter to found out about device changes.\" into jb-dev"
    },
    {
      "commit": "c4f4b0f0a4905180314d1a681ddf5767ed1070ed",
      "tree": "3e09612bde54a8c78e85eb07840b607f6e73f3ee",
      "parents": [
        "2075f2d3e486b565c9abd2556d81dfb1449f6efb",
        "242b33870b51ea962a1d5c077d71c648eccc2b7a"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jun 15 14:01:49 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 15 14:01:49 2012 -0700"
      },
      "message": "Merge \"AudioManager: back to old setBluetoothA2dpOn()\" into jb-dev"
    },
    {
      "commit": "632ca417f0a33e3fa9ccece531afa2db3f0d4a30",
      "tree": "57dc775032f1571f7c57697ab012e14bffd7bdd0",
      "parents": [
        "17b9cec1b6fedd0e54ff61f5a12f0e515add70ab"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jun 14 19:34:10 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jun 15 13:15:35 2012 -0700"
      },
      "message": "Add new callback for MediaRouter to found out about device changes.\n\nThe AudioService now has an API to call to get the currently\nconnected devices, and later reports of changes in connection\nstate.  The information includes the name of the bluetooth\ndevice if one is connected for display to the user, and states\nfor all of the pluggable devices.  No longer requires a Bluetooth\npermission to keep the routes updated.\n\nChange-Id: I81ca421c60592fbc1592477d59bf1c9d1b64954a\n"
    },
    {
      "commit": "d1e57d78863b032cc647f6abeabb443dc512841d",
      "tree": "92cec1bc66b473e74b7129ae8fa2853efd065db1",
      "parents": [
        "6e6f54f706b77baae49554bc17101fb6799d1806",
        "15635728a4ff00da6cc3d6468c02d39e5631f124"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Fri Jun 15 11:57:26 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jun 15 11:57:26 2012 -0700"
      },
      "message": "am 15635728: am 27db797e: Merge \"Update MediaRouteChooserDialog grouping UI\" into jb-dev\n\n* commit \u002715635728a4ff00da6cc3d6468c02d39e5631f124\u0027:\n  Update MediaRouteChooserDialog grouping UI\n"
    },
    {
      "commit": "15635728a4ff00da6cc3d6468c02d39e5631f124",
      "tree": "b6ad392bf08fda4f9fa9eb89a95cf3aafabb7cde",
      "parents": [
        "c82a664ca34885251edcfd044c142ab79e787f9c",
        "27db797e37ea16ea5db6eb3f6a32e0f116c1b824"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Fri Jun 15 11:54:42 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jun 15 11:54:42 2012 -0700"
      },
      "message": "am 27db797e: Merge \"Update MediaRouteChooserDialog grouping UI\" into jb-dev\n\n* commit \u002727db797e37ea16ea5db6eb3f6a32e0f116c1b824\u0027:\n  Update MediaRouteChooserDialog grouping UI\n"
    },
    {
      "commit": "242b33870b51ea962a1d5c077d71c648eccc2b7a",
      "tree": "89bb76b5b7f6685d5aa13571109bafc274c78187",
      "parents": [
        "8b9c6d51d59898375089e9708325604c227812e0"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jun 15 11:48:50 2012 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jun 15 11:48:50 2012 -0700"
      },
      "message": "AudioManager: back to old setBluetoothA2dpOn()\n\nCome back to old versions of setBluetoothA2dpOn() and isBluetoothA2dpOn().\n\nMediaRouter will call methods on IAudioService directly.\n\nChange-Id: I18f0a3106bad78715ed11a6b7b4ec1d656cdae41\n"
    },
    {
      "commit": "b5e2af5919351486a385effe77409d2a91ae9c19",
      "tree": "6830f4c00e7014ae753d390593dd2c54fa378f14",
      "parents": [
        "90b9f84c43145c51180c7253cd3a3f59862c2611"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Thu Jun 14 23:06:24 2012 -0700"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Fri Jun 15 00:11:34 2012 -0700"
      },
      "message": "Update MediaRouteChooserDialog grouping UI\n\nMove UserRouteInfo tag support to RouteInfo\n\nChange-Id: Ia753924f8613462d5f74736be93a8d748689eef1\n"
    },
    {
      "commit": "2f115bc007b24144f3f673395bc83ac0bc3814c7",
      "tree": "b1cbe59f601242e15281b3c38adaa0d9d8325090",
      "parents": [
        "88c06995395d20aea8e0c2dda6118bd938423cfa",
        "13b5c194e1ca2ed5ca9187e15ca0518b8bb052d2"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Thu Jun 14 18:30:55 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jun 14 18:30:55 2012 -0700"
      },
      "message": "am 13b5c194: am 90b9f84c: Merge \"API updates for MediaRouter\" into jb-dev\n\n* commit \u002713b5c194e1ca2ed5ca9187e15ca0518b8bb052d2\u0027:\n  API updates for MediaRouter\n"
    },
    {
      "commit": "13b5c194e1ca2ed5ca9187e15ca0518b8bb052d2",
      "tree": "142c60568ba5e48e2f55a6c7690f43e4e91efe56",
      "parents": [
        "5eed873f1076b685d3a8538894a49f29f85d1189",
        "90b9f84c43145c51180c7253cd3a3f59862c2611"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Thu Jun 14 17:58:05 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jun 14 17:58:05 2012 -0700"
      },
      "message": "am 90b9f84c: Merge \"API updates for MediaRouter\" into jb-dev\n\n* commit \u002790b9f84c43145c51180c7253cd3a3f59862c2611\u0027:\n  API updates for MediaRouter\n"
    },
    {
      "commit": "0d03c042f90bf62d5bad7c64e77028a5f9f8fae0",
      "tree": "ca92383addd5a8ca165e01f7884e58635726144f",
      "parents": [
        "f9b7f9f5080100043df3c8868bca4df84becf5a1"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Thu Jun 14 16:04:12 2012 -0700"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Thu Jun 14 16:16:31 2012 -0700"
      },
      "message": "API updates for MediaRouter\n\n* Accept a Context when fetching the names of routes and\n  categories. This lets string resources resolve at time of access\n  with the correct configuration. The older versions remain available\n  that will use the static resources from the application. (There are\n  enough cases where applications will populate this from external\n  data that requiring it each time even when it was not initialized\n  from a resource doesn\u0027t seem reasonable.)\n\n* Remove the ability for apps to programmatically select non-user\n  routes.\n\n* Make MediaRouter.Callback an abstract class instead of an interface.\n  This will make further extensions easier to keep compatible in the\n  future.\n\nChange-Id: If981c511dfbdfaf41ef0d1cfe4a377fc14bb5600\n"
    },
    {
      "commit": "a587b449c463ac996b8cb05b2888abe92a8d16b4",
      "tree": "5ccc069ffeff842d3a9fbf9024441e2c3f19c47f",
      "parents": [
        "7fbede44edb6cebaf42ec75a3812ebd15b82925a",
        "0f03d771b29ff0fc6919a514c56128de9a5ecd5e"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Thu Jun 14 11:34:17 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jun 14 11:34:17 2012 -0700"
      },
      "message": "am 0f03d771: am f9b7f9f5: Merge \"Support route grouping in the MediaRouter dialog UI.\" into jb-dev\n\n* commit \u00270f03d771b29ff0fc6919a514c56128de9a5ecd5e\u0027:\n  Support route grouping in the MediaRouter dialog UI.\n"
    },
    {
      "commit": "0f03d771b29ff0fc6919a514c56128de9a5ecd5e",
      "tree": "b5a60973fce83a3b4838449fd2e6ffeef821a912",
      "parents": [
        "99745c01797c34ce7ca76640deab09fc728aee4e",
        "f9b7f9f5080100043df3c8868bca4df84becf5a1"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Thu Jun 14 11:28:37 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jun 14 11:28:37 2012 -0700"
      },
      "message": "am f9b7f9f5: Merge \"Support route grouping in the MediaRouter dialog UI.\" into jb-dev\n\n* commit \u0027f9b7f9f5080100043df3c8868bca4df84becf5a1\u0027:\n  Support route grouping in the MediaRouter dialog UI.\n"
    },
    {
      "commit": "cf815b56bf475bc9593a057edb234578e4abfcf1",
      "tree": "dead48aa07661da0d9ed8108132e8875e1520c72",
      "parents": [
        "58c35bbe347e9814bb3356866828f4cf5f56936f",
        "6c14359074ff5a93695ed37083c9178a4ca2d1f1"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Thu Jun 14 10:32:49 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jun 14 10:32:49 2012 -0700"
      },
      "message": "am 6c143590: am 4b4a947b: Merge \"MediaRouter dialog\" into jb-dev\n\n* commit \u00276c14359074ff5a93695ed37083c9178a4ca2d1f1\u0027:\n  MediaRouter dialog\n"
    },
    {
      "commit": "d6d0bddee363e0c7fe61f63bd9d9864a71d887d6",
      "tree": "46040408e1d65a458de7ce2db775d661d910c6a4",
      "parents": [
        "6a7977794961fa7c165f7963b6ca6d82f94633ce"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Wed Jun 13 23:15:49 2012 -0700"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Wed Jun 13 23:27:09 2012 -0700"
      },
      "message": "Support route grouping in the MediaRouter dialog UI.\n\nChange-Id: Idcae12cedfb7ca13950e7fa45441fba2029a9f68\n"
    },
    {
      "commit": "6c14359074ff5a93695ed37083c9178a4ca2d1f1",
      "tree": "868fcd983c8101b3f268b14d04370804c5dfb889",
      "parents": [
        "cc7baa28f2b584a238ac5f9bf48775f89a4aa0a4",
        "4b4a947b5e4913d7f8b7df15d3a7cdf8f343471f"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Wed Jun 13 14:05:24 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jun 13 14:05:24 2012 -0700"
      },
      "message": "am 4b4a947b: Merge \"MediaRouter dialog\" into jb-dev\n\n* commit \u00274b4a947b5e4913d7f8b7df15d3a7cdf8f343471f\u0027:\n  MediaRouter dialog\n"
    },
    {
      "commit": "70e11e50eecfc8f1dfb76316d099e4331ebd28f7",
      "tree": "c2a2a912ec851734e73de72d0b04a0b744cebafb",
      "parents": [
        "d772c4878e2207795e92b26a462fd02bca7e3c2e"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Tue Jun 12 16:59:45 2012 -0700"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Wed Jun 13 11:42:10 2012 -0700"
      },
      "message": "MediaRouter dialog\n\nAdd the dialog behavior for MediaRouteActionProvider/MediaRouteButton.\n\nStill TODO:\n\n* Switch audio icon based on source; speaker/bt/user\n\n* Rig up volume slider\n\n* Rig up item icons\n\n* Rig up group button for groupable categories\n\n* Make grouping work\n\nChange-Id: I3f992516b184d5ae940ddb7bbb7f94ff58914589\n"
    },
    {
      "commit": "49a0b01bdc89059da49c807ae5d132534d55a773",
      "tree": "13268ace0780ff334b6a4d26be73a73eea876355",
      "parents": [
        "746a2ca9f9a3433ffbb75fdee4b43aa0ae3515a1",
        "0d637d6f888cdddba554174284fb96f8354a15e4"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Tue Jun 12 13:01:30 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jun 12 13:01:30 2012 -0700"
      },
      "message": "am 0d637d6f: am 579ec308: Merge \"MediaRouter work\" into jb-dev\n\n* commit \u00270d637d6f888cdddba554174284fb96f8354a15e4\u0027:\n  MediaRouter work\n"
    },
    {
      "commit": "16e7127948286f1cbf73534dcc2822e4fa9c6fe4",
      "tree": "270afabaf07a237e890dfe0f6fad91c2c86208e4",
      "parents": [
        "c9b781b4355d774680055155f7097b8ebfb87735",
        "2e1f18b9ba9af40d5e1f0874e091b8f487a2d50d"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jun 12 13:01:24 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jun 12 13:01:24 2012 -0700"
      },
      "message": "am 2e1f18b9: am dcf33b73: Merge \"Made IAudioService.setBluetoothA2dpOn() not oneway\" into jb-dev\n\n* commit \u00272e1f18b9ba9af40d5e1f0874e091b8f487a2d50d\u0027:\n  Made IAudioService.setBluetoothA2dpOn() not oneway\n"
    },
    {
      "commit": "ca415c8529bd0268f58d7b8c1ba5906cd3d0fe54",
      "tree": "b7c7cac940a57dbf7028a7bd35d151e540be8f7a",
      "parents": [
        "d3f97dc0fb08f4738f2e4c78df001b59f311951e",
        "345a3835aafd01e837741aa6ea733d8dc1b7dd2b"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Tue Jun 12 13:01:09 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jun 12 13:01:09 2012 -0700"
      },
      "message": "am 345a3835: am f958732b: Merge \"Fix docs\" into jb-dev\n\n* commit \u0027345a3835aafd01e837741aa6ea733d8dc1b7dd2b\u0027:\n  Fix docs\n"
    },
    {
      "commit": "0c9c063179c4d27e2bc9190dc49f08cfe25fd663",
      "tree": "6c348457ed3ec1ea29bcd3d2f50903eef595e39e",
      "parents": [
        "13292174fbc4f9b92aad619e459c7e3f1bf7c848",
        "a20d99b17906cb371203be8ec4dc92d9a104f8dd"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Tue Jun 12 13:01:03 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jun 12 13:01:03 2012 -0700"
      },
      "message": "am a20d99b1: am ae20ae1a: More MediaRouter features.\n\n* commit \u0027a20d99b17906cb371203be8ec4dc92d9a104f8dd\u0027:\n  More MediaRouter features.\n"
    },
    {
      "commit": "d4a0c49ffa5fb6d2a44e7727c54fdfc5a8ed4d1a",
      "tree": "e697163b2e7eed13fce4b47c49aaa48d25ca53f6",
      "parents": [
        "c528b7199a87d8a5a69dffec3856160fbacec080",
        "007f2b40f952eab8951c6b22302a59a955a20561"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jun 12 13:00:47 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jun 12 13:00:47 2012 -0700"
      },
      "message": "am 007f2b40: am f9d80b6b: Merge \"Rework media router to be per-context with global process state.\" into jb-dev\n\n* commit \u0027007f2b40f952eab8951c6b22302a59a955a20561\u0027:\n  Rework media router to be per-context with global process state.\n"
    },
    {
      "commit": "ea99d9af2db8c9490be3de750987969a2b31cfd1",
      "tree": "25f939ba7538d3b91c51f2bfbc8544dfb09b8f40",
      "parents": [
        "9a0fca43f73aa779717060ced2e7382a13416669",
        "bee681a1d54062dc0833cc9a45aac7b20725c1bb"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Tue Jun 12 13:00:33 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jun 12 13:00:33 2012 -0700"
      },
      "message": "am bee681a1: am fbce66cb: Merge \"Further work on MediaRouter\" into jb-dev\n\n* commit \u0027bee681a1d54062dc0833cc9a45aac7b20725c1bb\u0027:\n  Further work on MediaRouter\n"
    },
    {
      "commit": "0d637d6f888cdddba554174284fb96f8354a15e4",
      "tree": "5071b93217aa4713ba02be7ad3da32341a665f7f",
      "parents": [
        "11d536b38116e72a40829bd976f9f78f50d53d1a",
        "579ec3086c9ce3616735bc3cf63246f052973a7f"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Tue Jun 12 12:46:02 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jun 12 12:46:02 2012 -0700"
      },
      "message": "am 579ec308: Merge \"MediaRouter work\" into jb-dev\n\n* commit \u0027579ec3086c9ce3616735bc3cf63246f052973a7f\u0027:\n  MediaRouter work\n"
    },
    {
      "commit": "2e1f18b9ba9af40d5e1f0874e091b8f487a2d50d",
      "tree": "81fd278be758b2175c52b5afc2f5bdfeb9cb4694",
      "parents": [
        "2aaa68e8391a1ba68d333cd298e53196ade0cf1e",
        "dcf33b73159fe864f80514919775598e797e37d2"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jun 12 12:45:43 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jun 12 12:45:43 2012 -0700"
      },
      "message": "am dcf33b73: Merge \"Made IAudioService.setBluetoothA2dpOn() not oneway\" into jb-dev\n\n* commit \u0027dcf33b73159fe864f80514919775598e797e37d2\u0027:\n  Made IAudioService.setBluetoothA2dpOn() not oneway\n"
    },
    {
      "commit": "345a3835aafd01e837741aa6ea733d8dc1b7dd2b",
      "tree": "7a8954ebdf5521a7375269521b57dda18a892f27",
      "parents": [
        "14afbba66355fab168bed25c9bab33058372584a",
        "f958732bd3924205d9f8bda94f4f6e3bb4045b28"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Tue Jun 12 12:43:57 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jun 12 12:43:57 2012 -0700"
      },
      "message": "am f958732b: Merge \"Fix docs\" into jb-dev\n\n* commit \u0027f958732bd3924205d9f8bda94f4f6e3bb4045b28\u0027:\n  Fix docs\n"
    },
    {
      "commit": "a20d99b17906cb371203be8ec4dc92d9a104f8dd",
      "tree": "b4e5aeae2d4688717019f94c96d52eaa6fef320a",
      "parents": [
        "4930649d35dcec1f234124e8b4f8abfac8ba6ea6",
        "ae20ae1a8aaa013813c356ae1d9541ca7ff020ae"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Tue Jun 12 12:43:48 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jun 12 12:43:48 2012 -0700"
      },
      "message": "am ae20ae1a: More MediaRouter features.\n\n* commit \u0027ae20ae1a8aaa013813c356ae1d9541ca7ff020ae\u0027:\n  More MediaRouter features.\n"
    },
    {
      "commit": "007f2b40f952eab8951c6b22302a59a955a20561",
      "tree": "463ff4a173547a83b205429481033aa5b75d6ed6",
      "parents": [
        "823e20284588f785b96764ba24efb7b8f63895d7",
        "f9d80b6b940540b5d7be22ae310e047fcd2472a8"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jun 12 12:43:20 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jun 12 12:43:20 2012 -0700"
      },
      "message": "am f9d80b6b: Merge \"Rework media router to be per-context with global process state.\" into jb-dev\n\n* commit \u0027f9d80b6b940540b5d7be22ae310e047fcd2472a8\u0027:\n  Rework media router to be per-context with global process state.\n"
    },
    {
      "commit": "bee681a1d54062dc0833cc9a45aac7b20725c1bb",
      "tree": "3993c45b81c8c18d3b8e37a2472ffd9f75403ffc",
      "parents": [
        "0b986a7b3d93a6a33d723d2d2d432e946b0ef331",
        "fbce66cb259cb63b43fda654db68152b8b4a2c2f"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Tue Jun 12 12:42:48 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jun 12 12:42:48 2012 -0700"
      },
      "message": "am fbce66cb: Merge \"Further work on MediaRouter\" into jb-dev\n\n* commit \u0027fbce66cb259cb63b43fda654db68152b8b4a2c2f\u0027:\n  Further work on MediaRouter\n"
    },
    {
      "commit": "579ec3086c9ce3616735bc3cf63246f052973a7f",
      "tree": "ebc1f2f7a6f5894a6f4dec682253d7aae695de6e",
      "parents": [
        "ceb8067920043a430478be386c56c244355d4c9f",
        "b35c445f34e1a18e17aef3e3dfbc1c39b4d1815c"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Tue Jun 12 12:04:24 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 12 12:04:24 2012 -0700"
      },
      "message": "Merge \"MediaRouter work\" into jb-dev"
    },
    {
      "commit": "b35c445f34e1a18e17aef3e3dfbc1c39b4d1815c",
      "tree": "1c7e896753889ee1abec57fcb2d9cb133fb16e2c",
      "parents": [
        "f958732bd3924205d9f8bda94f4f6e3bb4045b28"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Tue Jun 12 11:25:54 2012 -0700"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Tue Jun 12 11:26:39 2012 -0700"
      },
      "message": "MediaRouter work\n\nFix a bug where MediaRouter would crash on creation\n\nAdd click listener for app-supplied extended settings on the route\nselection dialog.\n\nChange-Id: I2991db1720b5c574148e250526984592f4dc3c44\n"
    },
    {
      "commit": "dcf33b73159fe864f80514919775598e797e37d2",
      "tree": "bafe2bdb28a1db9cfff4e97ba5ae5ed414803c6f",
      "parents": [
        "56b135b91051664ae9027f50e9f20b7fcf6565ba",
        "4ab22bb7d0aafce1be200153d71d432c9d54e04a"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jun 12 11:10:33 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 12 11:10:33 2012 -0700"
      },
      "message": "Merge \"Made IAudioService.setBluetoothA2dpOn() not oneway\" into jb-dev"
    },
    {
      "commit": "71c69897ad0a55d590698bfa399bfe99c763b9db",
      "tree": "326742c432bb411be1d444b4830c38fda2af9804",
      "parents": [
        "ae20ae1a8aaa013813c356ae1d9541ca7ff020ae"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Mon Jun 11 20:12:56 2012 -0700"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Mon Jun 11 20:12:56 2012 -0700"
      },
      "message": "Fix docs\n\nChange-Id: If0215c02abf419d14f28574b751c9dfc2f27bcbe\n"
    },
    {
      "commit": "ae20ae1a8aaa013813c356ae1d9541ca7ff020ae",
      "tree": "8b8b569088cae80a9a959808a25f7359086cf65e",
      "parents": [
        "68cefd201809372a547257a273b805cabbd0da68"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Mon Jun 11 15:15:10 2012 -0700"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Mon Jun 11 19:28:48 2012 -0700"
      },
      "message": "More MediaRouter features.\n\nAdd RemoteControlClient to user routes. This will allow the UI layered\non top to access info about the remote volume channel associated with\na user route.\n\nAdd icons for user routes and route groups.\n\nChange-Id: I438aa60fc8c93f878ec7638897225738155f0746\n"
    },
    {
      "commit": "4ab22bb7d0aafce1be200153d71d432c9d54e04a",
      "tree": "3e18fa49f3edf8468194e21261b6b0b647711304",
      "parents": [
        "f9d80b6b940540b5d7be22ae310e047fcd2472a8"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Jun 11 17:00:58 2012 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Jun 11 17:10:02 2012 -0700"
      },
      "message": "Made IAudioService.setBluetoothA2dpOn() not oneway\n\nIAudioService.setBluetoothA2dpOn() should not be one way as\nIAudioService.isBluetoothA2dpOn() will return inconsistent results\nif called just after.\n\nBug 6572651.\n\nChange-Id: Ib03ae49e6c0041b1b37dcac9e198cd93a4794030\n"
    },
    {
      "commit": "b58b8f832d06b0ffa8886eba5a4916578a3b8743",
      "tree": "46c116da0e9c0f7fb6b9403b18771bdffe8760d9",
      "parents": [
        "fbce66cb259cb63b43fda654db68152b8b4a2c2f"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jun 11 15:08:39 2012 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jun 11 15:41:08 2012 -0700"
      },
      "message": "Rework media router to be per-context with global process state.\n\nChange-Id: Ic1cb6f13e691d22783bcdafae85b7c75aec0a66f\n"
    },
    {
      "commit": "d0d2cda9d414da73773285d7fee9e13aef3495e9",
      "tree": "786eda6b9bdde07b7d8ca5c005c05e846f3e6793",
      "parents": [
        "47adf865bddf6c81051d457e04785408d2710f60"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Fri Jun 08 14:46:35 2012 -0700"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Mon Jun 11 13:17:44 2012 -0700"
      },
      "message": "Further work on MediaRouter\n\nRemove volume control and tracking. This will be handled by extensions\nto existing audio and media APIs for now.\n\nTweak/refine other aspects of the API. Pass the router to callbacks for\neasier future-proofing. Add group/ungroup callback methods.\n\nChange-Id: Ib69e76e5f46280a9002b545bcf4cbc7b839844ee\n"
    },
    {
      "commit": "92f4c7bc49f035bb2672356db5baf30b20240353",
      "tree": "1f75930c25ab74aaf105f414e735863342541d00",
      "parents": [
        "241e7020590fd5ad5a9bd9c94a53733331d1a1a7",
        "c861411d4bae0912054ff54c3efee90ae2db6db9"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Jun 08 14:40:09 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 08 14:40:09 2012 -0700"
      },
      "message": "Merge \"Bypass emulated storage for metadata extraction\""
    },
    {
      "commit": "c861411d4bae0912054ff54c3efee90ae2db6db9",
      "tree": "16a8b768fb9066ee2600557a204a2a46ff8d79ca",
      "parents": [
        "218eb9c03bc12850b758999b18236fa535ee705b"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri May 25 10:02:29 2012 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Jun 08 14:22:56 2012 -0700"
      },
      "message": "Bypass emulated storage for metadata extraction\n\nb/6543148\n\nChange-Id: Ic65957870199a2592ebe53b32517166f96e48ef2\n"
    },
    {
      "commit": "fa30e18083e2c3a27154440149513d42b37b2829",
      "tree": "021ef65c384f8c4681fc9bc95aa9e2744f91d0b1",
      "parents": [
        "2828b8affdce2c8bc6b889253ed4ffb582aebc78",
        "0237d04b9564b9ef3e443091a4bce7dc5a2f1826"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri Jun 08 11:01:01 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jun 08 11:01:01 2012 -0700"
      },
      "message": "am 0237d04b: am 644e43e0: am 3e3d641c: Merge \"Added mpga as valid MediaFile extension\"\n\n* commit \u00270237d04b9564b9ef3e443091a4bce7dc5a2f1826\u0027:\n  Added mpga as valid MediaFile extension\n"
    }
  ],
  "next": "0237d04b9564b9ef3e443091a4bce7dc5a2f1826"
}
