)]}'
{
  "log": [
    {
      "commit": "661f2cf45860d2e10924e6b69966a9afe255f28b",
      "tree": "e7ad0a86244468b8df5efe81736e43c74b9126a9",
      "parents": [
        "fb6121e069f25dd43e15b1377fe4d5f60c3d0dbe"
      ],
      "author": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Mon Nov 17 10:29:10 2014 -0500"
      },
      "committer": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Tue Nov 25 13:20:46 2014 -0500"
      },
      "message": "VolumeZen: Introduce internal vs external ringer mode.\n\nStabilize mapping between ringer-mode\u003dsilent and zen\u003dpriority\nby keeping track of two ringer modes:\n - Internal ringer mode: Used for underlying stream muting\n - External ringer mode: Reported to clients\n\nThe mapping between external ringer mode + zen is:\n - normal \u003d all\n - vibrate \u003d all\n - silent \u003d priority (read-write) or none (read)\n\nChanges include:\n - Remove \"zen check\" from audio service, back to audio\n   service having no knowledge of zen.\n - Maintain a new external ringer mode in audio service,\n   this is the ringer mode reported through AudioManager\n   to callers, also mapped to the change intent.\n - Introduce a \"ringer mode delegate\" to the local\n   audio manager interface, responsible for observing\n   external / internal mode changes, and making changes\n   if necessary.\n - Internal ringer mode changes are still interesting\n   to the volume dialog, wire up a callback through\n   the existing IVolumeController interface.\n - On devices without vibration, the mapping is the same\n   but since no ringer mode change is possible, disable\n   the icon toggle and remove the mute icon when volume\u003d0.\n - On devices with vibration, volume down presses should\n   pulse the vibrate icon (and vibrate) as a hint that this\n   is as low as the device can go using the keys.  Since\n   the mechanics are similar to the existing zen\u003dnone hint,\n   pull into shared helper.\n - Log ringer mode changes to the zen log, include calling\n   package information for issue diagnosis.\n - Include whether vibration is supported in the audio service\n   dump.\n - Update the status bar icon policy to use the internal ringer\n   mode, not the external mode (for vibrate icon).\n - Update the \"Muted by \u003cx\u003e\" logic, include current suppressor\n   in dumpsys, ensure suppression icon is enabled \u0026 !clickable,\n   regardless of zen mode.\n\nBug: 17884168\nBug: 15471679\nBug: 16824970\nChange-Id: Ia7d3bb23ce6d1e37b24fb6521d1c1ab9bb8f60c0\n"
    },
    {
      "commit": "d9bb296b56f1107674fd6370295e0bc1010848ba",
      "tree": "e3e3e837321f232dd36ee327c89b1ba79683ed3c",
      "parents": [
        "0f667f5855bff7432002dba2ef0d393fe2ad955f",
        "d64c425f32174a66a3974c63211bf457005a8d6a"
      ],
      "author": {
        "name": "RoboErik",
        "email": "epastern@google.com",
        "time": "Mon Nov 24 23:04:57 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 24 23:04:59 2014 +0000"
      },
      "message": "Merge \"Delay calling onConnected until a session is set in MediaBrowser\" into lmp-mr1-dev"
    },
    {
      "commit": "d64c425f32174a66a3974c63211bf457005a8d6a",
      "tree": "c8d1c307e15930947abccb641458dc25d486d94b",
      "parents": [
        "85f463c5b59350fa4c4a05007f8a7b65a9a89da3"
      ],
      "author": {
        "name": "RoboErik",
        "email": "epastern@google.com",
        "time": "Fri Nov 21 11:19:35 2014 -0800"
      },
      "committer": {
        "name": "RoboErik",
        "email": "epastern@google.com",
        "time": "Mon Nov 24 12:35:20 2014 -0800"
      },
      "message": "Delay calling onConnected until a session is set in MediaBrowser\n\nThis will delay all calls to onConnected from the MediaBrowserService\nuntil a session token has been set. This also requires making it an\nexception to try setting the session twice.\n\nbug:18052336\nChange-Id: Iecf186c53364183e1696af83a855c8db3294a5d0\n"
    },
    {
      "commit": "958876fe55ea0fdeb73c72240a2f2bab32833443",
      "tree": "82d6f218cb3ed2bfc2877981912fad2e1cb16f0d",
      "parents": [
        "12c2136e556b54a717624d8479ec4650f363ce45"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Sun Nov 16 15:40:22 2014 -0800"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Nov 24 10:46:12 2014 -0800"
      },
      "message": "Add support for audio focus locking\n\nNew API for a registered AudioPolicy to lock/unlock the audio\n  focus stack and prevent any new grant of focus, similar to\n  the way phone calls behave.\n\nBug 16010554\n\nChange-Id: If34a58ca9bd43d5479e94a2a7b540750b4c6efe9\n"
    },
    {
      "commit": "a4fcb62a224eca99d53b1692d1cc5ae5ff2d2127",
      "tree": "66f3b0a6166ec1311109dbfba6c1c2fa562d1f49",
      "parents": [
        "e0a377f50951d51b5ddf3be6f0ce361affdffc56"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Nov 20 16:16:55 2014 -0800"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Nov 20 16:17:43 2014 -0800"
      },
      "message": "media: fix isSupportedFormat for integer frame rate\n\nBug: 18473065\nChange-Id: I670cc043d3cb117c26921cb639ff9eecc8f14b0a\n"
    },
    {
      "commit": "09ff91255e945f2588c377614bf7b7c0d512118e",
      "tree": "10ac23cf2bd2417c754d1c877c19fd27e0356e93",
      "parents": [
        "93ef96395a95317bec4f27423ade1ce0d6aa07d8",
        "8dc1031453377d2f9d9c7847027f276e6726a4c8"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Nov 20 22:02:13 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 20 22:02:15 2014 +0000"
      },
      "message": "Merge \"Convert record channel mask for dynamic mix\" into lmp-mr1-dev"
    },
    {
      "commit": "8dc1031453377d2f9d9c7847027f276e6726a4c8",
      "tree": "321db6923421e6bf8cfd61adce740cfdaa15f1a6",
      "parents": [
        "e6a1e993c2e3663ee60085b66fe8697d5de6e268"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Nov 20 12:41:26 2014 -0800"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Nov 20 12:53:23 2014 -0800"
      },
      "message": "Convert record channel mask for dynamic mix\n\nWhen creating the AudioRecord instance for a dynamic mix, convert\n  the output channel mask of the mix to an input channel mask\n  to be used by the AudioRecord instance through which the\n  mixed audio is rerouted.\n\nBug 16009464\n\nChange-Id: I3addbe85339f6f06b69acc3f9b8e2a765e5d7305\n"
    },
    {
      "commit": "f66f3052a7e99eac436b423280687b84f1ef77d6",
      "tree": "3323c81726aedd2045282802f81add8e3d7f7b72",
      "parents": [
        "52bfa3328f076363edb4b5e77f32c8bca2209817",
        "5f3cb4a584545927b3dcecb7cb47eb7edb6d2d5d"
      ],
      "author": {
        "name": "Jae Seo",
        "email": "jaeseo@google.com",
        "time": "Thu Nov 20 19:03:01 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 20 19:03:03 2014 +0000"
      },
      "message": "Merge \"TIF: implement gatherTransparentRegion() and dispatchDraw() in TvView.\" into lmp-mr1-dev"
    },
    {
      "commit": "52bfa3328f076363edb4b5e77f32c8bca2209817",
      "tree": "cf16a6d1011c65202d021f73c3904be9ebc2f564",
      "parents": [
        "7edaf55aab6fb14a640904015e10e2f5c9299423",
        "90e733385d466acd87730676c83c080a17ff495f"
      ],
      "author": {
        "name": "Jae Seo",
        "email": "jaeseo@google.com",
        "time": "Thu Nov 20 18:52:14 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 20 18:52:16 2014 +0000"
      },
      "message": "Merge \"TIF: enhance documentation for TvInputManager.getAvailableStreamConfigs()\" into lmp-mr1-dev"
    },
    {
      "commit": "ac4af18bbb077a89696260e595fc130d9c172f79",
      "tree": "93045a2be99ec9b870141c4be8b73ff12b10ff58",
      "parents": [
        "5b881d43ece280fdf46455a45393c3341e1feae7",
        "519c7744b522aa07e12bc3244ac3de14aa2a4ad0"
      ],
      "author": {
        "name": "RoboErik",
        "email": "epastern@google.com",
        "time": "Thu Nov 20 17:59:12 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 20 17:59:14 2014 +0000"
      },
      "message": "Merge \"Handle volume events on master volume devices correctly\" into lmp-mr1-dev"
    },
    {
      "commit": "b9c87fb4034a4a61b57150000a937aa95927861c",
      "tree": "ce3751bd6fee10d4d7fd522c007cfb549833c1a0",
      "parents": [
        "e6a1e993c2e3663ee60085b66fe8697d5de6e268"
      ],
      "author": {
        "name": "RoboErik",
        "email": "epastern@google.com",
        "time": "Wed Nov 19 12:14:55 2014 -0800"
      },
      "committer": {
        "name": "RoboErik",
        "email": "epastern@google.com",
        "time": "Wed Nov 19 17:27:43 2014 -0800"
      },
      "message": "Scale bitmaps in metadata sent to the system\n\nThis scales down any MediaMetadata bitmaps that are sent to the system\nthrough MediaSession.\n\nbug:18114918\nbug:18084448\nChange-Id: Ib7b040cd8245108ad2dd56afe2499290d2b49f51\n"
    },
    {
      "commit": "5f3cb4a584545927b3dcecb7cb47eb7edb6d2d5d",
      "tree": "550881fdd87bd44594b5a82529fe3b8344128444",
      "parents": [
        "a489f0b3d9007d94ba514bf4ce71ce9957147e33"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Wed Nov 19 18:12:44 2014 +0900"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Wed Nov 19 20:27:55 2014 +0900"
      },
      "message": "TIF: implement gatherTransparentRegion() and dispatchDraw() in TvView.\n\nBackground: because the hole-punching code lives only in SurfaceView,\nthe overlay view can be covered by the application if the TV input\nchanges the position of SurfaceView via Session.layoutSurface().\nThis change punches a hole as large as TvView so that the underlying\noverlayview can be shown properly.\n\nBug: 18420642\nChange-Id: If9a829367083ce2002a4c4a4e4a4bbb623f7ad96\n"
    },
    {
      "commit": "519c7744b522aa07e12bc3244ac3de14aa2a4ad0",
      "tree": "e2a2a66dc0e6cd41a62623001051930d0f6d6ede",
      "parents": [
        "9c7854014d86a3bb2c4f2f8e3b8ca7f1e01df7df"
      ],
      "author": {
        "name": "RoboErik",
        "email": "epastern@google.com",
        "time": "Tue Nov 18 10:59:09 2014 -0800"
      },
      "committer": {
        "name": "RoboErik",
        "email": "epastern@google.com",
        "time": "Tue Nov 18 11:00:34 2014 -0800"
      },
      "message": "Handle volume events on master volume devices correctly\n\nWe weren\u0027t passing volume events to the master volume correctly on\ndevices that only use a master volume. This fix checks if the device\nonly has a master volume and adjusts the master volume instead of the\nstream\u0027s volume if that\u0027s the case.\n\nbug:18305790\nChange-Id: Iec35e0a7dc59e6d73c9dfc88da324660bb15b1f3\n"
    },
    {
      "commit": "3a9a53cb75890484687c75b6fb134d21f2e7a334",
      "tree": "0c4145a967ad1fcf18856ca6e533d82024bb6beb",
      "parents": [
        "f0a8c3e6743de4ec491d717961d60fcf9bc3115b",
        "c918172508e8becdb89fc540bdfd5a9f7d3974e8"
      ],
      "author": {
        "name": "Jae Seo",
        "email": "jaeseo@google.com",
        "time": "Tue Nov 18 18:01:39 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 18 18:01:47 2014 +0000"
      },
      "message": "Merge \"TIF: make the tune request handling more efficient\" into lmp-mr1-dev"
    },
    {
      "commit": "95ef08b348f4ce17c9d692c730a07c20b703b2a6",
      "tree": "892bcba7389f57945ec2e7706e0cb548fe67cad9",
      "parents": [
        "b3ec64e1005c82d41b6d1a1d86b6933fd25d87d2"
      ],
      "author": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Tue Nov 18 10:51:39 2014 -0500"
      },
      "committer": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Tue Nov 18 10:51:39 2014 -0500"
      },
      "message": "Volume: Don\u0027t allow ringer volume of 0 exiting ringer mode.\n\nFor any device with vibration, not only voice-capable devices.\n\nBug: 18423530\nChange-Id: I0f1a7df884d675e6bc6854dcf044426c07f3d2f7\n"
    },
    {
      "commit": "c918172508e8becdb89fc540bdfd5a9f7d3974e8",
      "tree": "1c40afbfba94e4b966a974b2243cef0f3b5f5ce0",
      "parents": [
        "4d269ba32037485bfa5ffba4dd23f796cbf10c43"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Tue Nov 18 14:29:50 2014 +0900"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Tue Nov 18 15:49:08 2014 +0900"
      },
      "message": "TIF: make the tune request handling more efficient\n\n- Clear the pending tune operations to handle consecutive tune requests\n  efficiently.\n- Add time out for onTune() to make developers not to handle whole tune\n  process in the onTune() method.\n\nBug: 18179595\nChange-Id: I571e55b78d7c4d17c7237c5ce70203941bec2130\n"
    },
    {
      "commit": "628d2606f757da7b6734c7cd438535069f77b065",
      "tree": "0951959cd721f7c65d0acde4888195148940d00a",
      "parents": [
        "fb8db1c84b7fd59f596a6c090a8035fab08ef2f5",
        "3b566b84708eea887ab3e1e1bbba4b2242b261d6"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Nov 13 22:16:14 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 13 22:16:15 2014 +0000"
      },
      "message": "Merge \"Move ringtone redirection to MediaPlayer.\" into lmp-mr1-dev"
    },
    {
      "commit": "3b566b84708eea887ab3e1e1bbba4b2242b261d6",
      "tree": "5ef557eb5da77d6bfbe882a5d7dabb9f240311e2",
      "parents": [
        "521ca5f8fba355f526e82dc3a8fc6520e4379874"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Nov 12 10:39:56 2014 -0800"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Nov 13 13:52:41 2014 -0800"
      },
      "message": "Move ringtone redirection to MediaPlayer.\n\nWay back in API 1 we defined Settings.System.DEFAULT_NOTIFICATION_URI\nwhich redirects through SettingsProvider before finally ariving at\nthe real underlying ContentProvider, usually MediaStore.\n\nWith new SELinux rules, we\u0027re no longer allowing the system_server\nto hold open FDs to shared storage devices, which causes these\nproxied openFile() calls to fail.\n\nTo work around this, teach MediaPlayer to resolve the final ringtone\nUri without going through the system.\n\nBug: 18226181\nChange-Id: I40c68617c952c0bb3e939e5084f5b68a35e31ae3\n"
    },
    {
      "commit": "136f54153e412485feae39cf3fe86392f01a2bd6",
      "tree": "d8fa5d73c1f7d5f142c898e63356dd6d7d777bed",
      "parents": [
        "87bc2acfd3e874ff94fd3da948c329d2547a2bfc",
        "fd6ad747e6c268753d0edf7a5a59b6815b190854"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Nov 13 18:47:32 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 13 18:47:34 2014 +0000"
      },
      "message": "Merge \"Support for delayed audio focus\" into lmp-mr1-dev"
    },
    {
      "commit": "9c803fa52606aeb27d4d098161722fb111dd1b23",
      "tree": "6f45659ca6ba4d7b3e68fdd7470816a3efebbb26",
      "parents": [
        "89444a380d85f8961a4a900734590571375b4f3f"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Thu Nov 13 09:40:42 2014 -0800"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Thu Nov 13 09:40:42 2014 -0800"
      },
      "message": "MTP: Update JNI for new packet getters\n\nBug:18113092\nChange-Id: I5d7473af1b57235fbc078c297a309e4a301c9fbd\n"
    },
    {
      "commit": "90e733385d466acd87730676c83c080a17ff495f",
      "tree": "195e9eabd883ec6bc7d3c518c4116548dd14147a",
      "parents": [
        "b724314516dc15ab7afb62f7a6e63d94f4022011"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Sat Nov 08 16:16:51 2014 +0900"
      },
      "committer": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Wed Nov 12 05:45:03 2014 +0000"
      },
      "message": "TIF: enhance documentation for TvInputManager.getAvailableStreamConfigs()\n\nBug: 18283466\nChange-Id: Ibb5d45c02a327e0b3e837ad3ec3603fa1623ff7b\n"
    },
    {
      "commit": "fd6ad747e6c268753d0edf7a5a59b6815b190854",
      "tree": "4c1ca4333564ca09124754e7bd12c1a3155af549",
      "parents": [
        "8c4aad505a0034b89abbdd7e11c18ffe11756c5f"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Nov 10 14:38:30 2014 -0800"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Nov 11 17:07:45 2014 -0800"
      },
      "message": "Support for delayed audio focus\n\nNew internal API for an audio focus requester to always enter\n the audio focus stack even if audio focus can\u0027t be granted\n immediately (e.g. during a phone call).\nRemap the \"no delay\" interface to the new \"requestAudioFocus\"\n method signature and AIDL.\n\nBug 16010554\n\nChange-Id: Iff91ddb0beb411cca1f8cf98300a9afc4178dc7f\n"
    },
    {
      "commit": "00795e9edda7038022d8f1268ca3304165076d2e",
      "tree": "dd3e83e1ce2ad71124b1ae589f799a90d1eeee45",
      "parents": [
        "7635aab10b44773d599ef8229a967fdf99d2817a",
        "8976a0954cce9cfc8bd8776893fc9067e240a91c"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Nov 11 18:33:20 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 11 18:33:21 2014 +0000"
      },
      "message": "Merge \"return error MEDIA_ERROR_UNSUPPORTED when Range request fail\" into lmp-mr1-dev"
    },
    {
      "commit": "8976a0954cce9cfc8bd8776893fc9067e240a91c",
      "tree": "0abc3bdf5942d82e03ae075b820019e367708627",
      "parents": [
        "8161ed8121f88d58cb7a2bab3a7197e3d661ba49"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Mon Nov 10 19:31:01 2014 -0800"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Mon Nov 10 19:32:28 2014 -0800"
      },
      "message": "return error MEDIA_ERROR_UNSUPPORTED when Range request fail\n\nBug: 18235751\nChange-Id: I4631daf50bb76b70dd740c45b628294ad1aa45e1\n"
    },
    {
      "commit": "d17793ea2a93af6ba9bc64c77502f48aa32814e4",
      "tree": "a90dfedeb72ed669efe27b5fee07e7ae5a5bf716",
      "parents": [
        "f9cf698fe00da7a0bf2ded408b86926c1f9155b2",
        "2c34b5e8136eac0332dac294cb06a6a98eac1c14"
      ],
      "author": {
        "name": "Dan Stoza",
        "email": "stoza@google.com",
        "time": "Fri Nov 07 19:44:32 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 07 19:44:34 2014 +0000"
      },
      "message": "Merge \"Add a BufferItem parameter to onFrameAvailable\" into lmp-mr1-dev"
    },
    {
      "commit": "220b65d21dcb332b9bb39e2c75a5adba5d7c73d9",
      "tree": "4bdce0bf631fbcd3b2dee913a5e766a8d60ac0b7",
      "parents": [
        "c02d9a73e389e27e603d667094dfa7d18a77fe98",
        "94c3e3bfcfe8d91283560082c737cb62e8d06742"
      ],
      "author": {
        "name": "Jason Parks",
        "email": "jparks@google.com",
        "time": "Fri Nov 07 00:05:47 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Nov 07 00:05:47 2014 +0000"
      },
      "message": "am 94c3e3bf: Merge \"Fix NPE for CTS.\" into lmp-sprout-dev\n\n* commit \u002794c3e3bfcfe8d91283560082c737cb62e8d06742\u0027:\n  Fix NPE for CTS.\n"
    },
    {
      "commit": "b1d52e1d2095d0df986d4c338af43c5cd2b6efc5",
      "tree": "339d71308cfa9da707c45f277ca3a6a65bad27cd",
      "parents": [
        "7d901cb6f54f31b01b9951599ba6abdcff580e42",
        "a13846ddf34e4e237f698279a120abd2fe01e486"
      ],
      "author": {
        "name": "RoboErik",
        "email": "epastern@google.com",
        "time": "Thu Nov 06 21:20:17 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 06 21:20:19 2014 +0000"
      },
      "message": "Merge changes If4c38bfe,Id9878186 into lmp-mr1-dev\n\n* changes:\n  Update metadata artwork and uri docs\n  skip MediaController callbacks if it\u0027s been unregistered\n"
    },
    {
      "commit": "de709869ae10263c4c325aaa72cdc6aada0ae8d5",
      "tree": "e558898acf7006a3fe475a83aec375285f332747",
      "parents": [
        "61a76f2d7919cd6375cf4463b8bd69a608057d93"
      ],
      "author": {
        "name": "Jason Parks",
        "email": "jparks@google.com",
        "time": "Thu Nov 06 14:08:52 2014 -0600"
      },
      "committer": {
        "name": "Jason Parks",
        "email": "jparks@google.com",
        "time": "Thu Nov 06 14:08:52 2014 -0600"
      },
      "message": "Fix NPE for CTS.\n\nThe effect list can be empty and will return null\nfrom native code. This fixes the CTS crash.\n\nBug: 18256010\nChange-Id: Ifa552efc9de216993427115c001c7071c90403f1\n"
    },
    {
      "commit": "a13846ddf34e4e237f698279a120abd2fe01e486",
      "tree": "d8cccff534bfdb2bd6d34e8398fc587203af2745",
      "parents": [
        "3e0cfcda31301e53c92cb2f91ed8be1cd6efd8bc"
      ],
      "author": {
        "name": "RoboErik",
        "email": "epastern@google.com",
        "time": "Thu Nov 06 10:55:06 2014 -0800"
      },
      "committer": {
        "name": "RoboErik",
        "email": "epastern@google.com",
        "time": "Thu Nov 06 10:55:06 2014 -0800"
      },
      "message": "Update metadata artwork and uri docs\n\nThis updates the Javadoc on the bitmap and uri fields to strongly\nsuggest Uris be used for high res artwork and strongly suggest Uris\nuse the content: style and support EXTRA_SIZE.\n\nChange-Id: If4c38bfec20d049473457784b1b56fa4d78abe5e\n"
    },
    {
      "commit": "fc4e6f70f64676ab375c3e233b6c07e3bc56cb64",
      "tree": "36b334c111e1d1e5bf0fb7a11609fbb1325e3c48",
      "parents": [
        "24f535b87341b8729d6d4235acc51f0e87916d3a",
        "1b51c72e910a91e79efe34c6252e01862516e73d"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Thu Nov 06 02:33:22 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 06 02:33:23 2014 +0000"
      },
      "message": "Merge \"Add missing secure stop methods\" into lmp-mr1-dev"
    },
    {
      "commit": "e43bf0821b41b135892001ad89518eb08d67bcd4",
      "tree": "26e40037b81c4a751e30c718da292c7551beab44",
      "parents": [
        "cdb72e2392e76da341496d073c601d04b030c990",
        "b27a8a5bcc40054f6d775d070bc2de6eb996d1c2"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Nov 05 22:02:52 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 05 22:02:54 2014 +0000"
      },
      "message": "Merge \"AudioEffect JNI: use new max preprocessing constant\" into lmp-mr1-dev"
    },
    {
      "commit": "3e0cfcda31301e53c92cb2f91ed8be1cd6efd8bc",
      "tree": "684f68a87d0a0d8927a061efd2571209461e969a",
      "parents": [
        "faac8b798359a6065a509dc0b127e887fed5d8a4"
      ],
      "author": {
        "name": "RoboErik",
        "email": "epastern@google.com",
        "time": "Tue Nov 04 14:47:44 2014 -0800"
      },
      "committer": {
        "name": "RoboErik",
        "email": "epastern@google.com",
        "time": "Wed Nov 05 13:07:38 2014 -0800"
      },
      "message": "skip MediaController callbacks if it\u0027s been unregistered\n\nThis gives slightly better gaurantees around when an app will receive\na callback. As long as they remove a callback on the same thread calls\nget posted on they won\u0027t receive any callbacks after the remove.\n\nbug:18104724\nChange-Id: Id9878186f005bf0b35c0380cd35f8fd7e67d1d90\n"
    },
    {
      "commit": "fbc3bdec7a2a80e8c3f1cdfebaecc6dba82c9cc6",
      "tree": "86d4162a5d3b29aefea3807b007ccc877b02f2cb",
      "parents": [
        "5a57ec024ffb14bbbf8dfdd5215b4a08c33ea97d",
        "8d7d7b448f2df7e4fdff6a3ca890b32b83075ead"
      ],
      "author": {
        "name": "Andrew Solovay",
        "email": "asolovay@google.com",
        "time": "Wed Nov 05 20:22:24 2014 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Nov 05 20:22:24 2014 +0000"
      },
      "message": "am 56576838: am d9ceae8f: Merge \"docs: Removed broken link to non-existent method.\" into lmp-docs\nautomerge: 8d7d7b4\n\n* commit \u00278d7d7b448f2df7e4fdff6a3ca890b32b83075ead\u0027:\n  docs: Removed broken link to non-existent method.\n"
    },
    {
      "commit": "b27a8a5bcc40054f6d775d070bc2de6eb996d1c2",
      "tree": "d9aadd3bf71a5ccb1d7f68f6a0cfc25c95d75167",
      "parents": [
        "ea651a4fbf274d229ead0185286c94b6e823d605"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Nov 05 12:18:05 2014 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Nov 05 12:20:49 2014 -0800"
      },
      "message": "AudioEffect JNI: use new max preprocessing constant\n\nBug: 18226810.\nChange-Id: Ica5677da247268306b34dfce38f25394586817fd\n"
    },
    {
      "commit": "8d7d7b448f2df7e4fdff6a3ca890b32b83075ead",
      "tree": "702d77d433c461d778cb44928edf1670f4602ca3",
      "parents": [
        "b2f0f3514c20b478655e4c3f192a98cfea2335ce",
        "56576838a8e8c4f44f8df13cc40295a918540b86"
      ],
      "author": {
        "name": "Andrew Solovay",
        "email": "asolovay@google.com",
        "time": "Wed Nov 05 18:52:27 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Nov 05 18:52:27 2014 +0000"
      },
      "message": "am 56576838: am d9ceae8f: Merge \"docs: Removed broken link to non-existent method.\" into lmp-docs\n\n* commit \u002756576838a8e8c4f44f8df13cc40295a918540b86\u0027:\n  docs: Removed broken link to non-existent method.\n"
    },
    {
      "commit": "9af44ddf0367c542d6c1db6060456bd72f3c83ca",
      "tree": "fa9c06bec2526903499b23977bbf02524b896d6a",
      "parents": [
        "5604a85ac61eb01794cf1dd9ea83321bcf93b57a",
        "563acea6665c45902bbc46db1a22c036344a818b"
      ],
      "author": {
        "name": "RoboErik",
        "email": "epastern@google.com",
        "time": "Wed Nov 05 18:29:31 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 05 18:29:32 2014 +0000"
      },
      "message": "Merge \"Post volume requests to the handler thread in MediaSession\" into lmp-mr1-dev"
    },
    {
      "commit": "5604a85ac61eb01794cf1dd9ea83321bcf93b57a",
      "tree": "fe593a109e888005ec11d67738e247c111470774",
      "parents": [
        "ea651a4fbf274d229ead0185286c94b6e823d605",
        "131e63adaa3333ef44dbe090471b710816447bf6"
      ],
      "author": {
        "name": "RoboErik",
        "email": "epastern@google.com",
        "time": "Wed Nov 05 18:25:59 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 05 18:26:00 2014 +0000"
      },
      "message": "Merge changes Ia3bc5b0d,I26e662ff into lmp-mr1-dev\n\n* changes:\n  Add extras to the PlaybackState\n  Add setRatingType to MediaSession\n"
    },
    {
      "commit": "131e63adaa3333ef44dbe090471b710816447bf6",
      "tree": "bcca11a892d64ce6662b5d4770e3987937cc62d3",
      "parents": [
        "566c1ed18f429a7a64aeac01baa0af150fcd1eb4"
      ],
      "author": {
        "name": "RoboErik",
        "email": "epastern@google.com",
        "time": "Tue Nov 04 13:47:45 2014 -0800"
      },
      "committer": {
        "name": "RoboErik",
        "email": "epastern@google.com",
        "time": "Tue Nov 04 13:47:45 2014 -0800"
      },
      "message": "Add extras to the PlaybackState\n\nThis allows apps to include extras that are atomic with play state\nchanges.\n\nbug:18189125\nbug:18103891\nChange-Id: Ia3bc5b0dcf29960cb70e2ff3a67ec1fdd48b7a5a\n"
    },
    {
      "commit": "566c1ed18f429a7a64aeac01baa0af150fcd1eb4",
      "tree": "487c59487a8d0044f3a34f0e44cdaa91c0a468b1",
      "parents": [
        "3c7efdc00506e6561ca08933f0b2acf5e3f16b02"
      ],
      "author": {
        "name": "RoboErik",
        "email": "epastern@google.com",
        "time": "Tue Nov 04 13:00:22 2014 -0800"
      },
      "committer": {
        "name": "RoboErik",
        "email": "epastern@google.com",
        "time": "Tue Nov 04 13:14:19 2014 -0800"
      },
      "message": "Add setRatingType to MediaSession\n\nThis was missing in L. Needed to tell controllers how to rate content.\n\nbug:18051829\nChange-Id: I26e662ff04f77ed7f2922bf9e74acf74c850547b\n"
    },
    {
      "commit": "2c34b5e8136eac0332dac294cb06a6a98eac1c14",
      "tree": "69ae56dd2315d182b238f2759a3f8bf8362bee70",
      "parents": [
        "946863b63c05eb3ea38f422d5a198e95b0cc2aaa"
      ],
      "author": {
        "name": "Dan Stoza",
        "email": "stoza@google.com",
        "time": "Tue Nov 04 11:36:33 2014 -0800"
      },
      "committer": {
        "name": "Dan Stoza",
        "email": "stoza@google.com",
        "time": "Tue Nov 04 11:36:33 2014 -0800"
      },
      "message": "Add a BufferItem parameter to onFrameAvailable\n\nPasses the BufferItem for the queued buffer to the onFrameAvailable\ncallback so the consumer can track the BufferQueue\u0027s contents.\n\nBug: 18111837\nChange-Id: If9d07229c9b586c668e5f99074e9b63b0468feb0\n"
    },
    {
      "commit": "fe91d4e6a2ef4e51910965ea258f91c14f5ee0dc",
      "tree": "2e5c47a632ad92f7acfbd798fa1be0e8de69f74e",
      "parents": [
        "6fd88022c286730b6f17917dff2d9dd2d74bbfee",
        "adbe8bf85f3c8230d16ae5cb3f5d9736e09ed84a"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Nov 04 17:02:24 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 04 17:02:25 2014 +0000"
      },
      "message": "Merge \"AudioService: fix wired headset insertion delay.\" into lmp-mr1-dev"
    },
    {
      "commit": "085329b69abc0751591f99faf8a7e8fc2dc7c9df",
      "tree": "52c6a81e77c1024f8fc791cd904be30fa898b0bb",
      "parents": [
        "8befd6fd051e3c5d7c8e4c804664b8c69f91335a",
        "79d2b4c810f9359640a0aaa80e610508481cd413"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Tue Nov 04 02:41:52 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 04 02:41:54 2014 +0000"
      },
      "message": "Merge \"TIF: Fix a typo and remove an unused method in TvInputService\" into lmp-mr1-dev"
    },
    {
      "commit": "adbe8bf85f3c8230d16ae5cb3f5d9736e09ed84a",
      "tree": "7de59ce4c8576bdc252d20e1d31f00f207026f76",
      "parents": [
        "0c189ca5c4ee8a61c89d437ff22fd2628b353765"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Nov 03 18:26:32 2014 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Nov 03 18:26:57 2014 -0800"
      },
      "message": "AudioService: fix wired headset insertion delay.\n\nDo not systematically delay a device connection\nmessage by 1 second if another message is still in the queue\nbut calculate delay based on last message insertion time.\n\nBug: 17882912.\n\nChange-Id: Id86c338488f41eebfa1dfd926032468be0294cec\n"
    },
    {
      "commit": "8befd6fd051e3c5d7c8e4c804664b8c69f91335a",
      "tree": "e22acd7fbf9f5b10d8a98445286d32dc5df96c00",
      "parents": [
        "6666f34c9b6617b0f9ac3915a05b01f19cb8ac22",
        "8fa4d6f585f40ff5cf5f9bed316d92c64a306f21"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Nov 04 02:00:32 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 04 02:00:32 2014 +0000"
      },
      "message": "Merge \"AudioService: fix cross deadlock\" into lmp-mr1-dev"
    },
    {
      "commit": "8fa4d6f585f40ff5cf5f9bed316d92c64a306f21",
      "tree": "3caa689f45504bf48d087fb3434de49ec736f102",
      "parents": [
        "685a8770c018d02080d29f18fcb9e50a182912aa"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Oct 30 14:13:03 2014 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Nov 03 17:30:41 2014 -0800"
      },
      "message": "AudioService: fix cross deadlock\n\nFix cross deadlock between VolumeStreamState.class and\nVolumeStreamState instance synchronization.\n\nDo not synchronize on VolumeStreamState instance anymore.\n\nAlso document the locking order for synchronization objects\nrelated to volume management.\n\nBug: 18159081.\nChange-Id: Ibfe0759215cdac778408b95191cf0fd96bf46312\n"
    },
    {
      "commit": "4034546812141a7b21d6be290bc12e932f753b31",
      "tree": "0604c21af09674a5780e874ae99c63f1a5a9ad07",
      "parents": [
        "a827de4e8bcd8d90987387b1acf8d8856104e21c"
      ],
      "author": {
        "name": "Andrew Solovay",
        "email": "asolovay@google.com",
        "time": "Mon Nov 03 17:10:53 2014 -0800"
      },
      "committer": {
        "name": "Renato Mangini",
        "email": "mangini@google.com",
        "time": "Tue Nov 04 01:25:26 2014 +0000"
      },
      "message": "docs: Removed broken link to non-existent method.\n\nDoc had included link to method MediaBrowserService.onLoadIcon().\nPer bug http://b/17205016 that method was removed before release.\n\nRevised doc is staged to:\n\nhttp://asolovay.mtv.corp.google.com:9650/reference/android/service/media/MediaBrowserService.Result.html\n\n(Note that the other \"See Also\" link, which I didn\u0027t remove, is badly\nformatted because Javadoc seems to choke on links to methods that are\npassed generic types. JoeFernandez@, if you can suggest a better way\nto format that link I\u0027ll make that change too.)\n\nbug: 18229650\nChange-Id: Ic55ae8b9edc6dd314cf5acc306abd8a9d5f71134\n"
    },
    {
      "commit": "1b51c72e910a91e79efe34c6252e01862516e73d",
      "tree": "9772862df219e77168f08c6c3c3879780e2bbcf6",
      "parents": [
        "7a0ae7ed31a9e7e296c549dfbf035bf4270be69c"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Fri Oct 31 00:54:26 2014 -0700"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Mon Nov 03 16:22:04 2014 -0800"
      },
      "message": "Add missing secure stop methods\n\nb/18053197\nb/18076411\n\nChange-Id: Ide9ecab2fd2021f3544491f23ae84c394c48ac14\n"
    },
    {
      "commit": "79d2b4c810f9359640a0aaa80e610508481cd413",
      "tree": "e9a004b2e9b777a82ffbabcc695b8222b69ff9b4",
      "parents": [
        "8d262c3a033b9123f42a8ad1a3925684264b8450"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Mon Nov 03 16:04:12 2014 +0900"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Mon Nov 03 16:04:12 2014 +0900"
      },
      "message": "TIF: Fix a typo and remove an unused method in TvInputService\n\nChange-Id: I2c0233678c08a7070ffe507d9671e1ab669fdfd8\n"
    },
    {
      "commit": "4dd56c93e363aeb10ce94a57a33e8fe4f60e226a",
      "tree": "8e2d92b2258ea2c070925ac81bce5baffb1eaac8",
      "parents": [
        "8d262c3a033b9123f42a8ad1a3925684264b8450"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Thu Oct 30 14:17:41 2014 +0900"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Mon Nov 03 10:58:00 2014 +0900"
      },
      "message": "TIF: Add more documentation on start/end time of TvContract.Program\n\nBug: 18163685\nChange-Id: Ifcd57330eb341adfbcb7fcf3482a701471bf729f\n"
    },
    {
      "commit": "38b00a63c9f637bbe43b6ea3785c9577c43dbac5",
      "tree": "b550db056681ce1ed3297866c7393ce0629f3427",
      "parents": [
        "06a0c3a4459de084ecf8f1a8920edf36c41ac164",
        "8fdb0d4defb6ee2ca8057d3442ead36b408b6c17"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Oct 31 16:32:52 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 31 16:32:53 2014 +0000"
      },
      "message": "Merge \"More AudioPolicy registration\" into lmp-mr1-dev"
    },
    {
      "commit": "8fdb0d4defb6ee2ca8057d3442ead36b408b6c17",
      "tree": "38ae8780457f25d4e89ffe5fe9fcfa6afc892f2a",
      "parents": [
        "ba9836d9726bbc7413a07ae2b86afde8adcd4cc3"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Jul 16 19:08:37 2014 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Oct 30 17:22:34 2014 -0700"
      },
      "message": "More AudioPolicy registration\n\nDefine new usage in AudioAttributes to describe \"virtual\" sources.\nMaintain a registration string in AudioPolicy and AudioMix that\n is used for the address of the mix in the native policy manager.\nAudioPolicy registration marks the audio policy configuration and\n the audio mixes as registered.\nThe AudioPolicy class is used as the factory for the AudioTrack\n and AudioRecord objects that are respectively used as the\n source and sink of the mixes created by the policy owner.\n\nBug 16009464\n\nChange-Id: I8e5bd351495257597c513d22597e273fcabdbc55\n"
    },
    {
      "commit": "ce34c6d308629c214ab9b7963755eb60cac03c9d",
      "tree": "6cee3d4d06757d33b84591bdf073220cfa46dbb8",
      "parents": [
        "c1f26faa2db2062ed42e422b038442fdb0aa3c68"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Mon Oct 27 17:55:27 2014 +0900"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Thu Oct 30 13:37:03 2014 +0900"
      },
      "message": "TIF: handle inputs holding the overlay view even after the session release\n\nBug: 17336221\nChange-Id: I7fb7890039bc3731b62410caa9802db5870ec2e2\n"
    },
    {
      "commit": "c1f26faa2db2062ed42e422b038442fdb0aa3c68",
      "tree": "c8487b026cc6d6f765e1b1c5ef0cfe18f763d815",
      "parents": [
        "33d9dc46cfbe42e508b2c4b97801059964b3476b",
        "3eefa59e37291abc72edd1c30b5469a21993dbbb"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Thu Oct 30 04:32:29 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 30 04:32:30 2014 +0000"
      },
      "message": "Merge \"TIF: Handle notifyXXX() calls requested before the session initialization\" into lmp-mr1-dev"
    },
    {
      "commit": "3eefa59e37291abc72edd1c30b5469a21993dbbb",
      "tree": "e41393ca4b91c95573b2e0ea778bc0845e296ec4",
      "parents": [
        "05b2fedcb8057f31ed078a59a8cffce131449df0"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Wed Oct 29 14:39:27 2014 +0900"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Thu Oct 30 09:34:56 2014 +0900"
      },
      "message": "TIF: Handle notifyXXX() calls requested before the session initialization\n\nPreviously, we relied on a handler by posting runnables when the\nsession is not initialized yet. However, this trick was broken when we\nseparated the creation procedure into DO_CREATE_SESSION and\nDO_NOTIFY_SESSION_CREATED.\n\nBug: 17909798\nChange-Id: I46f610cb9673f8162266525ac0e343b61c6db9ec\n"
    },
    {
      "commit": "570cc5302a2e076f2b6ce810f9ac6f3c53bcd125",
      "tree": "1d9dc08052856189e2a5f262ea28df0e10fb5636",
      "parents": [
        "f5c00c1c1136c9752b9c0157f9eca6385d7b9448"
      ],
      "author": {
        "name": "Andre Eisenbach",
        "email": "eisenbach@google.com",
        "time": "Tue Oct 28 17:03:18 2014 -0700"
      },
      "committer": {
        "name": "Andre Eisenbach",
        "email": "eisenbach@google.com",
        "time": "Wed Oct 29 09:56:41 2014 -0700"
      },
      "message": "Fix exception in AudioService when no BT Headset is connected.\n\nIf AudioManager.startBluetoothSco() is invoked with no Bluetooth Headset\nconnected, a NullPointerException will ensue.\n\nAdded check to make sure mBluetoothHeadsetDevice is set before accessing\nit.\n\nBug: 17601845\nChange-Id: Ia00bfffbea5484230b11a74787fe3309c18f824d\n"
    },
    {
      "commit": "563acea6665c45902bbc46db1a22c036344a818b",
      "tree": "eb3de2ad08341b89a5d44b452b77f0b2120c15b7",
      "parents": [
        "ac7d8c5cc85dc5929b5d1c9d7836aca58a4e9ea5"
      ],
      "author": {
        "name": "RoboErik",
        "email": "epastern@google.com",
        "time": "Tue Oct 28 13:26:26 2014 -0700"
      },
      "committer": {
        "name": "RoboErik",
        "email": "epastern@google.com",
        "time": "Tue Oct 28 13:26:26 2014 -0700"
      },
      "message": "Post volume requests to the handler thread in MediaSession\n\nVolume requests should be getting sent on the same thread as other\ncallbacks, not on the binder thread.\n\nbug:18156755\nChange-Id: I35bceb3f8c74ccba35f3d08ff000a254fcbd04bb\n"
    },
    {
      "commit": "5ea17442c59b23e0c2fa8cd0b1e85aef9db92d3b",
      "tree": "933a2653fd7009e0bb33c95978ecbd6ad96b34c8",
      "parents": [
        "ac7d8c5cc85dc5929b5d1c9d7836aca58a4e9ea5"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Mon Oct 27 14:54:33 2014 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Mon Oct 27 14:58:26 2014 -0700"
      },
      "message": "MediaCodec/Image: handle null cropRect correctly\n\n- allow Media.Image.setCropRect(null) to unset cropRect\n- use full image if cropRect is null in MediaCodec$Image\n\nBug: 18124320\nChange-Id: I7abb6175402a1fe913e16c0a682fabee79c55741\n"
    },
    {
      "commit": "ac7d8c5cc85dc5929b5d1c9d7836aca58a4e9ea5",
      "tree": "bc9c3123c76e9969aa6171b0076ecbfbe6f62d97",
      "parents": [
        "9c81373bc99dd97c3e89138b008ea4c5c77c9b47",
        "07cd124b09a63985f0b200de248fab165f736ae4"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Mon Oct 27 21:10:21 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Oct 27 21:10:22 2014 +0000"
      },
      "message": "Merge \"Improve toString() methods for audio classes to help with debugging\" into lmp-mr1-dev"
    },
    {
      "commit": "07cd124b09a63985f0b200de248fab165f736ae4",
      "tree": "372bec369d84390dc546a973b853308e9903e809",
      "parents": [
        "b71580c34efcc12bf7221c57eccaf80f36cb23bc"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Mon Oct 27 13:34:45 2014 -0700"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Mon Oct 27 14:07:35 2014 -0700"
      },
      "message": "Improve toString() methods for audio classes to help with debugging\n\nbug: 18139399\n\nChange-Id: I6076f9f5daa3b485bc80a4ff1b16a583e6c93f67\n"
    },
    {
      "commit": "670a82cbb1b62e69fa7ef7387eed545a76c96f76",
      "tree": "94fea4bba0db7e6445f57e9d1a4eccf03d393b5e",
      "parents": [
        "e8d9810cdef5b3e288f54f42adc3205532343406",
        "91377de6f23af2b0b08adae22810cae6fc35cb1a"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Oct 27 19:40:29 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Oct 27 19:40:30 2014 +0000"
      },
      "message": "Merge \"audioservice: fix default stream volume\" into lmp-mr1-dev"
    },
    {
      "commit": "91377de6f23af2b0b08adae22810cae6fc35cb1a",
      "tree": "48f1d4baa45bacf821ecc732fb24e9822a281180",
      "parents": [
        "b32f04b785306f06d7d07b824fb8dcc1b4a61aa6"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Oct 10 15:24:04 2014 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Oct 27 10:13:00 2014 -0700"
      },
      "message": "audioservice: fix default stream volume\n\nWhen the max stream volume is configurable by\na system property, the default stream volume should\nbe set accordingly.\n\nBug: 17507571.\n\nChange-Id: I9d9378292fc7b9c9e32acc55a275cc0ae5b203d4\n"
    },
    {
      "commit": "e828b6c034f7330ee70d72d1af979b0a35f883d9",
      "tree": "07bd879b733b48b8da54b35e3d2b494ed90c5911",
      "parents": [
        "9162890f056c895d68975baf1665f4d60bd6b0c9",
        "9755937ed90f06db45ff5fe4510950ae1516f8f9"
      ],
      "author": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Mon Oct 27 13:31:18 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Oct 27 13:31:20 2014 +0000"
      },
      "message": "Merge \"AudioService: Restore ringer-mode validation check.\" into lmp-mr1-dev"
    },
    {
      "commit": "9755937ed90f06db45ff5fe4510950ae1516f8f9",
      "tree": "70965c8a7d7065d1cfa5fa39eca1aa18b166bd50",
      "parents": [
        "bcd076525ccb8a3dfe7d1002bcae059661c1d111"
      ],
      "author": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Fri Oct 24 16:27:36 2014 -0400"
      },
      "committer": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Fri Oct 24 16:45:33 2014 -0400"
      },
      "message": "AudioService: Restore ringer-mode validation check.\n\nEnsure the ringer-mode is valid when set, and forward client calls\nto service method to centralize validation.\n\nBug: 17884168\nChange-Id: I500f9beefbce5b7a8bc01ca9eb7b4a7a16114160\n"
    },
    {
      "commit": "6320fc490fe73b089cdccfc617e4b09f31f5d203",
      "tree": "bc3168d93883789f0a5c8bccf65ba4eb500b66f0",
      "parents": [
        "e41d967c5c6ff42ea41f61c731d77aa687b3956f"
      ],
      "author": {
        "name": "Jae Seo",
        "email": "jaeseo@google.com",
        "time": "Tue Oct 21 16:17:25 2014 -0700"
      },
      "committer": {
        "name": "Jae Seo",
        "email": "jaeseo@google.com",
        "time": "Fri Oct 24 10:19:08 2014 -0700"
      },
      "message": "TIF: Notify of size change of the video in TvView\n\nPut the necessary plumbing in place to notify of size change of the\nvideo in TvView.\nPut together the track related logic in TvInputManager.Session.\nProtected track information with a lock.\n\nAlso modified debugging messages more consistently and fixed minor\nwarnings in TvView.\n\nBug: 17635300\nChange-Id: I8d267d8a11056b5ccee1dacbf2d3391be16f811e\n"
    },
    {
      "commit": "e41d967c5c6ff42ea41f61c731d77aa687b3956f",
      "tree": "22148f7a1be700488443e8c8d4a67a1013589a34",
      "parents": [
        "fdef09ecef877605f47cc763eb497364f27e5c45",
        "887f52144eeea8d5812d64a29e207af6b97a763d"
      ],
      "author": {
        "name": "Jae Seo",
        "email": "jaeseo@google.com",
        "time": "Fri Oct 24 17:02:33 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 24 17:02:34 2014 +0000"
      },
      "message": "Merge \"TIF: Cache the app private command and send it when connection is made\" into lmp-mr1-dev"
    },
    {
      "commit": "887f52144eeea8d5812d64a29e207af6b97a763d",
      "tree": "9c08ad9e91e83e48e0e604b657dbca9244abaeda",
      "parents": [
        "b1df48e469cae5b0f3888c4d0410b78153503069"
      ],
      "author": {
        "name": "Jae Seo",
        "email": "jaeseo@google.com",
        "time": "Thu Oct 23 13:52:42 2014 -0700"
      },
      "committer": {
        "name": "Jae Seo",
        "email": "jaeseo@google.com",
        "time": "Fri Oct 24 10:01:06 2014 -0700"
      },
      "message": "TIF: Cache the app private command and send it when connection is made\n\nBug: 17559793\nChange-Id: If785d1ffceb5b5152381818efc4d1c8b5115143c\n"
    },
    {
      "commit": "35658cc42e381cba50c386464608e546c08a8b55",
      "tree": "2ca9ff57d00541563296717477dcbfa852f5e6b6",
      "parents": [
        "f6df7bff53d325e11233bc08fbf5a3f212723b79",
        "4a7873f19afecb01ef06b0f3dc4dde0a13a17ab3"
      ],
      "author": {
        "name": "Hochi Huang",
        "email": "hochi.huang@mediatek.com",
        "time": "Fri Oct 24 03:17:24 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 24 03:17:24 2014 +0000"
      },
      "message": "am 4a7873f1:     [FM]Fix  FM App record fail Buganizer ID: 17975676\n\n* commit \u00274a7873f19afecb01ef06b0f3dc4dde0a13a17ab3\u0027:\n  [FM]Fix  FM App record fail Buganizer ID: 17975676\n"
    },
    {
      "commit": "f6df7bff53d325e11233bc08fbf5a3f212723b79",
      "tree": "7e37f638320a34a0a798eaac113acaace4784738",
      "parents": [
        "fa7651877ff67b0729ced4fe2c449cba89b62221",
        "ba766977f5ce068b7fd0e4c8e8268ff1347e25be"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Fri Oct 24 02:24:16 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 24 02:24:18 2014 +0000"
      },
      "message": "Merge \"TIF: Define more cannonical genres in TvContract\" into lmp-mr1-dev"
    },
    {
      "commit": "cfc73237e9af57e85b46a7e657c84f9c2cb4b641",
      "tree": "a72296f1d8430f0f74c7c4189690f1e3d6efd3e0",
      "parents": [
        "84f9ab2903be2ff45977d99340eafc64c4251b3a",
        "8f24a8b60f9afc1aedb89e7ee80ce65515439600"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Fri Oct 24 01:34:03 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 24 01:34:05 2014 +0000"
      },
      "message": "Merge \"TIF: fix wrong config comparison \u0026 confusing method name\" into lmp-mr1-dev"
    },
    {
      "commit": "5168a7a0d34fc4151b15587c66663451c17434bc",
      "tree": "7999950a5756871c5ca97449a3e31f28ea0c1260",
      "parents": [
        "6c9b08478b9f3f69e6f9fa8a5d288ba780a58f3e"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Thu Oct 23 17:56:31 2014 +0900"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Fri Oct 24 10:23:13 2014 +0900"
      },
      "message": "TIF: exclude tuner TV input not having a setup activity in the input list.\n\nBy doing this, developers can notice the flaw of the input in advance.\n\nBug: 17647146\nChange-Id: I123a5538566959320a6201a4d7952e205602a28a\n"
    },
    {
      "commit": "4a7873f19afecb01ef06b0f3dc4dde0a13a17ab3",
      "tree": "bc7b684dc83fde802c60a08ecfea1380cbc5e381",
      "parents": [
        "fd73db22570bb1bf87b2f32685a31b4c295c848d"
      ],
      "author": {
        "name": "Hochi Huang",
        "email": "hochi.huang@mediatek.com",
        "time": "Wed Oct 22 22:10:02 2014 +0800"
      },
      "committer": {
        "name": "Leo Wang",
        "email": "leozwang@google.com",
        "time": "Fri Oct 24 00:47:54 2014 +0000"
      },
      "message": "    [FM]Fix  FM App record fail Buganizer ID: 17975676\n\n    Signed-off-by: Hochi Huang \u003chochi.huang@mediatek.com\u003e\n    Review: https://partner-android-review.git.corp.google.com/#/c/185235\n\nChange-Id: I024db429b8ff56851c814857691b06ea5e69198a\n"
    },
    {
      "commit": "6c9b08478b9f3f69e6f9fa8a5d288ba780a58f3e",
      "tree": "6e222fdbd9791e12c2871d19434b0c7e2daf1c66",
      "parents": [
        "d8bc6677e5b923cda9e953b60c936815368fb84a",
        "8ddb01ec7b1360e9fccf341b5f1989182160fcee"
      ],
      "author": {
        "name": "Jae Seo",
        "email": "jaeseo@google.com",
        "time": "Thu Oct 23 06:51:08 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 23 06:51:09 2014 +0000"
      },
      "message": "Merge \"Update documentation for notifyTracksChanged() and notifyTrackSelected()\" into lmp-mr1-dev"
    },
    {
      "commit": "8ddb01ec7b1360e9fccf341b5f1989182160fcee",
      "tree": "9b32d4c3f9b862a10457e2f29f89bd14b004de72",
      "parents": [
        "95dc663d1815704c63a5b18c94c3768068f2ff21"
      ],
      "author": {
        "name": "Jae Seo",
        "email": "jaeseo@google.com",
        "time": "Wed Oct 22 15:38:28 2014 -0700"
      },
      "committer": {
        "name": "Jae Seo",
        "email": "jaeseo@google.com",
        "time": "Thu Oct 23 06:50:48 2014 +0000"
      },
      "message": "Update documentation for notifyTracksChanged() and notifyTrackSelected()\n\nBug: 18090857\nChange-Id: I339a222454612e0111e79725de596a73f4d406b8"
    },
    {
      "commit": "8e8a0d6eafebc534d419e1f607962b6c8eda54f6",
      "tree": "e7f72dbf41982a9472eb0db1b33201dcd5542583",
      "parents": [
        "04e6827ace936e0cbb666d8ef94635b73672aa41"
      ],
      "author": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Wed Oct 22 14:11:36 2014 -0400"
      },
      "committer": {
        "name": "Leon Scroggins",
        "email": "scroggo@google.com",
        "time": "Wed Oct 22 18:17:14 2014 +0000"
      },
      "message": "Remove outdated tests for custom decoder.\n\nThese tests don\u0027t appear to be meaningful. We are comparing an\nunused decoder against one that is used.\n\nKeeping this test building (the primary changes to this directory\nin a while) is not believed to be worth the effort.\n\nBUG:17419670\nChange-Id: Ia0862f2a1de1fb9d744382bb949f6c1638a1a12a"
    },
    {
      "commit": "8f24a8b60f9afc1aedb89e7ee80ce65515439600",
      "tree": "68b06691ff7e197e83e07ceae60acaca92162d9d",
      "parents": [
        "ffcdb67922a5db5fe725d6986e0b140cd33cd4ed"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Wed Oct 22 16:27:39 2014 +0900"
      },
      "committer": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Wed Oct 22 16:27:39 2014 +0900"
      },
      "message": "TIF: fix wrong config comparison \u0026 confusing method name\n\nTvStreamConfig should do deep comparison in TvInputHardwareManager\nwhere the object gets created from binder calls. In addition to this\nfix, modify [aA]ddStream to [aA]ddOrUpdateStream so that the method\nname better reflects what it does.\n\nBug: 18027719\nChange-Id: I43fa668f91cb9433beee97ee31b4b1f58f21bfcf\n"
    },
    {
      "commit": "a6372b3be4d114c2082d83bbd065a0439f9feb2f",
      "tree": "222f01a1b0ac5396efb250cc0bc6bff5bee3a651",
      "parents": [
        "bb852b0b6b743aeca3a6daceafc89166ec6022d8",
        "49c1b69a568ce58c940e5a2b0641a2c50798cbe2"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Wed Oct 22 01:46:31 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 22 01:46:33 2014 +0000"
      },
      "message": "Merge \"TIF: add more documentation on Hardware session.\" into lmp-mr1-dev"
    },
    {
      "commit": "01c9d330b76e17076a1d71019344c2b859a1eb2c",
      "tree": "b43bc5900dd50b4f051d52e9c32bcd0cc13dbe6e",
      "parents": [
        "1213bf83e96bf9a3747a90d84969038b9ad76971",
        "f0a284115a8fb089806eb87db1a20468dd55ecd3"
      ],
      "author": {
        "name": "RoboErik",
        "email": "epastern@google.com",
        "time": "Mon Oct 20 22:19:54 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 20 22:19:54 2014 +0000"
      },
      "message": "am f0a28411: am 2fa604fc: Merge \"Add missing break to switch statement\" into lmp-dev\n\n* commit \u0027f0a284115a8fb089806eb87db1a20468dd55ecd3\u0027:\n  Add missing break to switch statement\n"
    },
    {
      "commit": "f0a284115a8fb089806eb87db1a20468dd55ecd3",
      "tree": "34914aee4a16c4a6424c711865db4354afad1306",
      "parents": [
        "aec92e2eca4b4197ac45dcde265e2797c7ea9133",
        "2fa604fc59ded63a416066a0bc66f63069cae7f3"
      ],
      "author": {
        "name": "RoboErik",
        "email": "epastern@google.com",
        "time": "Mon Oct 20 22:14:10 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 20 22:14:10 2014 +0000"
      },
      "message": "am 2fa604fc: Merge \"Add missing break to switch statement\" into lmp-dev\n\n* commit \u00272fa604fc59ded63a416066a0bc66f63069cae7f3\u0027:\n  Add missing break to switch statement\n"
    },
    {
      "commit": "59759903a9696daefa817079c8432468ed398033",
      "tree": "9506054a2f8f02ba8180f5d3e8477f9aca4bea81",
      "parents": [
        "38696ba77d7f614cb50672aaca99f7ba59b56126"
      ],
      "author": {
        "name": "RoboErik",
        "email": "epastern@google.com",
        "time": "Mon Oct 20 14:56:32 2014 -0700"
      },
      "committer": {
        "name": "RoboErik",
        "email": "epastern@google.com",
        "time": "Mon Oct 20 14:56:32 2014 -0700"
      },
      "message": "Add missing break to switch statement\n\nthe skip to queue item case was falling through when it shouldn\u0027t.\n\nbug: 18058515\nChange-Id: Ica20b59efad12a58ad16501146fc9a0d4595e184\n"
    },
    {
      "commit": "d00e68c3b6a4c727bd59a7e7c4524fb3fdd193f0",
      "tree": "eafedf25f2028eafd52f10620ecc3bb776c16b8a",
      "parents": [
        "e28cd1a276d64d697da89cac4941baf79f380f6c",
        "26a4309492f5af6828738a469ad8f18f42c44a61"
      ],
      "author": {
        "name": "RoboErik",
        "email": "epastern@google.com",
        "time": "Mon Oct 20 19:20:32 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 20 19:20:32 2014 +0000"
      },
      "message": "am 26a43094: am 578fbe89: Merge \"Set the metadata rating correctly in RCC\" into lmp-dev\n\n* commit \u002726a4309492f5af6828738a469ad8f18f42c44a61\u0027:\n  Set the metadata rating correctly in RCC\n"
    },
    {
      "commit": "26a4309492f5af6828738a469ad8f18f42c44a61",
      "tree": "73c05a982c8ba32b3ab77900ca40ea4ff296d86b",
      "parents": [
        "2f831575253e4f5a9e329e857aad2cd816f47524",
        "578fbe898f1652b3166bd4e20647572dec9dfb14"
      ],
      "author": {
        "name": "RoboErik",
        "email": "epastern@google.com",
        "time": "Mon Oct 20 19:13:20 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 20 19:13:20 2014 +0000"
      },
      "message": "am 578fbe89: Merge \"Set the metadata rating correctly in RCC\" into lmp-dev\n\n* commit \u0027578fbe898f1652b3166bd4e20647572dec9dfb14\u0027:\n  Set the metadata rating correctly in RCC\n"
    },
    {
      "commit": "38696ba77d7f614cb50672aaca99f7ba59b56126",
      "tree": "d130286839616ec8e4eabb89f529e77a8c5be0ef",
      "parents": [
        "040d89bb0a4563d93073b7a27b3f201ce11dcf58"
      ],
      "author": {
        "name": "RoboErik",
        "email": "epastern@google.com",
        "time": "Mon Oct 20 09:48:13 2014 -0700"
      },
      "committer": {
        "name": "RoboErik",
        "email": "epastern@google.com",
        "time": "Mon Oct 20 09:48:13 2014 -0700"
      },
      "message": "Set the metadata rating correctly in RCC\n\nWe weren\u0027t setting the ratings in the new MediaMetadata from RCC.\nThis adds some code to set them correctly.\n\nbug:18051829\nChange-Id: I358eeb2b25b3fb9bd9a5d207eb3314bb2cdff25e\n"
    },
    {
      "commit": "49c1b69a568ce58c940e5a2b0641a2c50798cbe2",
      "tree": "4513fe692f6d8f7a3718972f56cd022280531fb6",
      "parents": [
        "ffcdb67922a5db5fe725d6986e0b140cd33cd4ed"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Mon Oct 20 14:35:58 2014 +0900"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Mon Oct 20 18:26:50 2014 +0900"
      },
      "message": "TIF: add more documentation on Hardware session.\n\nBug: 17909341\nChange-Id: Ie537eb77b6ac4b63e4e9306c1781f84dd4be2719\n"
    },
    {
      "commit": "a2d77ed7d7abc1cf10fb961dd8a64f3a9e323736",
      "tree": "d645b3f54be23ed2a6fc0b3ebed5d137d2c02eee",
      "parents": [
        "7e4a3aecbd9ebc3c91a50eacfe24293811338df9",
        "4683a10f9c8c73056e5e1f9748ab9eee701dc3fa"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Oct 16 17:45:36 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Oct 16 17:45:36 2014 +0000"
      },
      "message": "am 4683a10f: am 36c931b3: Merge \"Also consider secondary storage when verifying paths\" into lmp-dev\n\n* commit \u00274683a10f9c8c73056e5e1f9748ab9eee701dc3fa\u0027:\n  Also consider secondary storage when verifying paths\n"
    },
    {
      "commit": "4f7eee438be7e51d7988a2a61123139e74b7b802",
      "tree": "96a5bd16b9115d3762765f0e4ff95395d90f5f7f",
      "parents": [
        "df88ad0b81b8b1a6ca76d5961632717165594e9f",
        "3d4aec1bb79caea6fadc36a942fb0c0f84a0f4f2"
      ],
      "author": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Thu Oct 16 05:51:45 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Oct 16 05:51:45 2014 +0000"
      },
      "message": "am 3d4aec1b: am b2344c81: Merge \"Leave zen when apps set ringer-mode \u003d non-silent (normal/vibrate).\" into lmp-dev\n\n* commit \u00273d4aec1bb79caea6fadc36a942fb0c0f84a0f4f2\u0027:\n  Leave zen when apps set ringer-mode \u003d non-silent (normal/vibrate).\n"
    },
    {
      "commit": "4683a10f9c8c73056e5e1f9748ab9eee701dc3fa",
      "tree": "ee88e390f2cdec2fa21926dc0de5e897cf070078",
      "parents": [
        "0cd670b39be13e1840927694b36d6c61e5c7c1dd",
        "36c931b31a15b4ed740c861ec34b7e6573cfd32e"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Oct 16 00:41:10 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Oct 16 00:41:10 2014 +0000"
      },
      "message": "am 36c931b3: Merge \"Also consider secondary storage when verifying paths\" into lmp-dev\n\n* commit \u002736c931b31a15b4ed740c861ec34b7e6573cfd32e\u0027:\n  Also consider secondary storage when verifying paths\n"
    },
    {
      "commit": "36c931b31a15b4ed740c861ec34b7e6573cfd32e",
      "tree": "3320a602a47edc7efce43d92bbebe989af933a55",
      "parents": [
        "a0b3796d937dff83b5dd94e8f091a36bc9b304dd",
        "c1fda12823bfac1c2180beddc3f733ea0311b37d"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Oct 16 00:38:01 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 16 00:38:03 2014 +0000"
      },
      "message": "Merge \"Also consider secondary storage when verifying paths\" into lmp-dev"
    },
    {
      "commit": "3d4aec1bb79caea6fadc36a942fb0c0f84a0f4f2",
      "tree": "0d5278e5cf06b0e8cda2dab5fa4972f96714beb2",
      "parents": [
        "e8a700e9f7956333df647eebe5e8c9eb1ea8c12c",
        "b2344c81bcf49129d303a2919cfffd7a720c261b"
      ],
      "author": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Wed Oct 15 23:40:07 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Oct 15 23:40:07 2014 +0000"
      },
      "message": "am b2344c81: Merge \"Leave zen when apps set ringer-mode \u003d non-silent (normal/vibrate).\" into lmp-dev\n\n* commit \u0027b2344c81bcf49129d303a2919cfffd7a720c261b\u0027:\n  Leave zen when apps set ringer-mode \u003d non-silent (normal/vibrate).\n"
    },
    {
      "commit": "c1fda12823bfac1c2180beddc3f733ea0311b37d",
      "tree": "013cc4332c48a47e506d9978bfbf179e8015521f",
      "parents": [
        "d700e5a37afec6c264609c5df4c3a6b783417330"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Oct 15 14:32:22 2014 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Oct 15 15:36:50 2014 -0700"
      },
      "message": "Also consider secondary storage when verifying paths\n\nBug: 17673184\nBug: 17982103\nChange-Id: Ief14c7776b02983191c46774fa7e4c76380de58d\n"
    },
    {
      "commit": "e5b42d97f6fd3eb0220ea84f21e60d530d93fc46",
      "tree": "d9bad83e8085723b374b745ed9437bc9023a17e2",
      "parents": [
        "5873c3e862b83fb0c64b52b86bdd8f26ff8ffb5f"
      ],
      "author": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Wed Oct 15 12:03:48 2014 -0400"
      },
      "committer": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Wed Oct 15 13:32:31 2014 -0400"
      },
      "message": "Leave zen when apps set ringer-mode \u003d non-silent (normal/vibrate).\n\nApps can end up in priority mode by setting ringer-mode \u003d silent.\n\nNow they can leave priority mode by setting ringer-mode \u003d non-silent.\n  (normal or vibrate)\n\nBug: 17884168\nChange-Id: I54c853885f4ae9ee618041dd7ac6ab0663fc7b37\n"
    },
    {
      "commit": "ba766977f5ce068b7fd0e4c8e8268ff1347e25be",
      "tree": "38d5d25cad05960f5ad59786572cc55893cb494e",
      "parents": [
        "58ee8a966a14208c85ac304136a36602b2d75e01"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Mon Oct 13 21:15:04 2014 +0900"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Wed Oct 15 11:32:20 2014 +0900"
      },
      "message": "TIF: Define more cannonical genres in TvContract\n\nBackground: while categorizing broadcast genres into cannonical genres,\nit turned out that the existing 11 genres are not enough. 6 more genres\nare added.\n\nBug: 17597747\nChange-Id: I14c00771d69f1e30fc2c0e3978298c67066117e5\n"
    },
    {
      "commit": "d4410a19bcad9e402c2a8f31576454a061c0c110",
      "tree": "0ee62eacdc21307b6144ca1bb0b61a94f9c0761b",
      "parents": [
        "97cb995e990ab868355f109c1466a810dbad4d35",
        "d25b996a7ab2589f258d0006dda6589f53d98366"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Oct 09 19:17:29 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Oct 09 19:17:29 2014 +0000"
      },
      "message": "am d25b996a: am a6ae8ba4: MediaHTTPConnection: do not use proxy for localhost\n\n* commit \u0027d25b996a7ab2589f258d0006dda6589f53d98366\u0027:\n  MediaHTTPConnection: do not use proxy for localhost\n"
    },
    {
      "commit": "d25b996a7ab2589f258d0006dda6589f53d98366",
      "tree": "e6d66ab7b804b6b1fc5e9247c51950705be2ffa7",
      "parents": [
        "f857b272c27ca6836b5cec51a9f3714603aa2ad0",
        "a6ae8ba4a59f3f893fe8893335e7517388123c10"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Oct 09 19:11:11 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Oct 09 19:11:11 2014 +0000"
      },
      "message": "am a6ae8ba4: MediaHTTPConnection: do not use proxy for localhost\n\n* commit \u0027a6ae8ba4a59f3f893fe8893335e7517388123c10\u0027:\n  MediaHTTPConnection: do not use proxy for localhost\n"
    },
    {
      "commit": "a6ae8ba4a59f3f893fe8893335e7517388123c10",
      "tree": "2b2122d62674f79c1343b909b0ce6c2a121f257b",
      "parents": [
        "2e0f66820e12bbd24f476fba863d9dab564c6f97"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Oct 08 17:05:16 2014 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Oct 09 02:07:40 2014 +0000"
      },
      "message": "MediaHTTPConnection: do not use proxy for localhost\n\nBug: 17681512\nChange-Id: Iba25d89636d8f96efc0eb90e0dd7a135c82ff16a\n"
    },
    {
      "commit": "6f030aa0d9f740672211869eabb07308d6f8a6b4",
      "tree": "a66c5ef081df17ca9b75dc60e5ae85c588d5ffbf",
      "parents": [
        "ec2562fc6d37030d09b3692c927964c3cc7d3858",
        "cb13564554e6b61de6f37afbeb6ddb368cee31dc"
      ],
      "author": {
        "name": "Jon Eklund",
        "email": "e11237@motorola.com",
        "time": "Wed Oct 08 18:25:47 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Oct 08 18:25:47 2014 +0000"
      },
      "message": "am cb135645: am 318f0fe4: AudioService: Fix monitorRotation for landscape applications\n\n* commit \u0027cb13564554e6b61de6f37afbeb6ddb368cee31dc\u0027:\n  AudioService: Fix monitorRotation for landscape applications\n"
    },
    {
      "commit": "cb13564554e6b61de6f37afbeb6ddb368cee31dc",
      "tree": "69408135f2371e0b4554780ee8dded0712e59dad",
      "parents": [
        "033c759c2f085d0a4bf9195b2f29db9716acb17f",
        "318f0fe43bdc4b2f6764edd91d6b78d9875ffdeb"
      ],
      "author": {
        "name": "Jon Eklund",
        "email": "e11237@motorola.com",
        "time": "Wed Oct 08 18:15:42 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Oct 08 18:15:42 2014 +0000"
      },
      "message": "am 318f0fe4: AudioService: Fix monitorRotation for landscape applications\n\n* commit \u0027318f0fe43bdc4b2f6764edd91d6b78d9875ffdeb\u0027:\n  AudioService: Fix monitorRotation for landscape applications\n"
    },
    {
      "commit": "318f0fe43bdc4b2f6764edd91d6b78d9875ffdeb",
      "tree": "751e5a19a44f0063ef8f3474b8abb90a8024ae17",
      "parents": [
        "fdbbed6090d47c5ebbf254dfda7a87ef154c8a2c"
      ],
      "author": {
        "name": "Jon Eklund",
        "email": "e11237@motorola.com",
        "time": "Thu Jan 23 17:53:48 2014 -0600"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Oct 08 01:06:15 2014 +0000"
      },
      "message": "AudioService: Fix monitorRotation for landscape applications\n\nCurrent implmentation only sends rotation updates on orientation\nchanges, so does not handle direct 0\u003c-\u003e180 or 90\u003c-\u003e270 transitions.\n\nUpdate rotation based on an OrientationEventListener instead of\nIntent.ACTION_CONFIGURATION_CHANGED\n\nBug 17606902\n\nChange-Id: I01dfcd1c587f5b2e8a96365c2389782ad77936ef\n"
    },
    {
      "commit": "63b6d3ed1d267101d1f37844ff855768c25dfa99",
      "tree": "9273ee837607d01b490a6017a2b181963ac29fce",
      "parents": [
        "0c58307868a5a240a79cc7c77a6e5e4c61e68896",
        "986468a8ab77ce1e89247078d4e93a3aaa5d294b"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Oct 07 17:42:58 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Oct 07 17:42:58 2014 +0000"
      },
      "message": "am 986468a8: am dce7a427: Merge \"Full volume on remote submix for apps that need it\" into lmp-dev\n\n* commit \u0027986468a8ab77ce1e89247078d4e93a3aaa5d294b\u0027:\n  Full volume on remote submix for apps that need it\n"
    },
    {
      "commit": "986468a8ab77ce1e89247078d4e93a3aaa5d294b",
      "tree": "0be5ecef30a9f8f88c973709444d1ac6620e72f8",
      "parents": [
        "f7b7b7585acb0bec5c8ccfd646981a1b9f906f60",
        "dce7a427593c6e11277d9e3075ab027512923276"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Oct 07 17:33:05 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Oct 07 17:33:05 2014 +0000"
      },
      "message": "am dce7a427: Merge \"Full volume on remote submix for apps that need it\" into lmp-dev\n\n* commit \u0027dce7a427593c6e11277d9e3075ab027512923276\u0027:\n  Full volume on remote submix for apps that need it\n"
    },
    {
      "commit": "ba5270b88798c66fefc17a1b25b27894e4fb7862",
      "tree": "325c18b65f5dac9d02ae6965e44e2f2c19303113",
      "parents": [
        "4c334f3def076d2940b53641c932050b1e4ce286"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Oct 01 17:49:29 2014 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Oct 07 09:09:41 2014 -0700"
      },
      "message": "Full volume on remote submix for apps that need it\n\nIf an AudioRecord is created with the \"fixedVolume\" tag\n  when recording from REMOTE_SUBMIX, treat the\n  device DEVICE_OUT_REMOTE_SUBMIX as a fixed full volume\n  device during the recording. Also register a death\n  handler during the recording.\n  Otherwise this is a no-op.\n\nBug 17635294\n\nChange-Id: I8d26fe777047126f34308e1e1b7ac28ba269ad89\n"
    }
  ],
  "next": "1e62e476fa6600dbf8dd82a428efb424a9938177"
}
