)]}'
{
  "log": [
    {
      "commit": "f108cdd9ee5efe354d87edd02a07b323298c116c",
      "tree": "02f05dca3512226d004ecccfc5f3c481a1d85154",
      "parents": [
        "a48ccdd6fb671435ed2583830b2828450bfc3cde"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Sep 27 18:37:36 2013 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Oct 04 17:50:44 2013 -0700"
      },
      "message": "Also rely on enabled notification listeners for RemoteController registration\n\nRegistration of a RemoteController may succeed only if:\n - the caller has the MEDIA_CONTENT_CONTROL permission,\n - or if the RemoteController.OnClientUpdateListener it\n   registers if one of the enabled notification listeners.\n\nFor using the \"enabled notification listener\" functionality,\n the CL involved:\n - making OnClientUpdateListener an interface so a 3rd-party\n   application may have its implementation extend\n   NotificationListenerService, which is required for a\n   listener to be enabled by the user.\n - add the concept of \"enabled\" status in an\n   IRemoteControlDisplay, so a RemoteController (which\n   encapsulates the IRemoteControlDisplay implementation)\n   may be registered, but later temporarily disabled by\n   the user, as a result of a user action in the security\n   settings, or a user switch.\n - making MediaFocusControl, the component tied to\n   AudioService, monitor changes in enabled notification\n   listeners, and act upon enable/disable changes.\n\nBug 8209392\n\nChange-Id: Ia8dfa2156c65668b2b0d4ae92048005912652d84\n"
    },
    {
      "commit": "79f7ec70ebd5758ce54fd5b6fcd60fd27457cba6",
      "tree": "6bc7542adfb792659a153a5000fb94a3ed6abb6a",
      "parents": [
        "bab9687e6473072d6ff4f7ea5a7b21bcfbf95744"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Apr 04 18:50:23 2013 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Apr 08 13:08:37 2013 -0700"
      },
      "message": "Have audio service clean up new receivers in crashing processes.\n\nThe new media button receiver with only a pending intent (no\ncomponent name) could be left hanging if the process that\nregistered it went away.  These semantically need to be tied\nto the calling process\u0027s lifetime; we now clean them up when\nthe calling process goes away.\n\nAlso added some additional cleanup of media button receivers\nwhen packages change (updated, cleared).\n\nAnd on top of that, a new \"media\" command for doing media\nthings.  Currently lets you send media keys and monitor\nremote display data.\n\nOh and finally added a new BaseCommand base class for\nimplementing these command line utilities.\n\nChange-Id: Iba1d56f10bab1eec4a94a7bb1d1c2ae614c8bcf5\n"
    }
  ]
}
