)]}'
{
  "commit": "0212be5150fb9fb3c340f3c7e51f6126372cc6f9",
  "tree": "929f98806b4edb3591c5398881252fcd5c81b497",
  "parents": [
    "7792b714b66e3af57bc243666b7843b0adf9c0b3"
  ],
  "author": {
    "name": "Jean-Michel Trivi",
    "email": "jmtrivi@google.com",
    "time": "Mon Nov 24 14:43:10 2014 -0800"
  },
  "committer": {
    "name": "Jean-Michel Trivi",
    "email": "jmtrivi@google.com",
    "time": "Fri Dec 05 18:41:28 2014 -0800"
  },
  "message": "Support collaborative audio focus handling\n\nAdd new flag for an app to define it doesn\u0027t duck, but rather\n  pauses when losing focus with AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK.\n  This flag is to be used when requesting focus.\nAdd support for AudioPolicy to specify whether it will implement\n  ducking itself, rather than it being handled by an app.\nWhen ducking is handled by a policy, do not notify focus owners\n  when they lose audio focus with LOSS_TRANSIENT_CAN_DUCK, unless\n  they would have paused, as expressed with the\n  AUDIOFOCUS_FLAG_PAUSES_ON_DUCKABLE_LOSS flag.\nAdd a focus listener for a policy to be notified of focus changes\n  so it can properly implement its own ducking.\n\nBug 16010554\n\nChange-Id: I11d7cdb85c52fd086128a44f4d938aaa44db5c25\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "14164728bf55aa83c70f9c22bcbec5bd4538d06d",
      "old_mode": 33188,
      "old_path": "Android.mk",
      "new_id": "dd564557b1b313754c8ce316d3a7b5eab6186ca5",
      "new_mode": 33188,
      "new_path": "Android.mk"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "f925fda907fead60c95d9d269e05f7c0d4e4ec56",
      "new_mode": 33188,
      "new_path": "media/java/android/media/AudioFocusInfo.aidl"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "fbdda3ce4dee53e4a84481e8ca4e92fbc318f25a",
      "new_mode": 33188,
      "new_path": "media/java/android/media/AudioFocusInfo.java"
    },
    {
      "type": "modify",
      "old_id": "543836b68c5bf9f621a787073a13796d325f3323",
      "old_mode": 33188,
      "old_path": "media/java/android/media/AudioManager.java",
      "new_id": "a65aa72e58d7f8f0233d53f91913f59914d5d11c",
      "new_mode": 33188,
      "new_path": "media/java/android/media/AudioManager.java"
    },
    {
      "type": "modify",
      "old_id": "9a3ec42ecef74e65dac9b74222fbe800b1d7e7ce",
      "old_mode": 33188,
      "old_path": "media/java/android/media/AudioService.java",
      "new_id": "8d664eb9cc352c29e00667e3a22ae90fb16e05aa",
      "new_mode": 33188,
      "new_path": "media/java/android/media/AudioService.java"
    },
    {
      "type": "modify",
      "old_id": "0d675fc835b44dfaec45235ea04f4c2a4a3edb90",
      "old_mode": 33188,
      "old_path": "media/java/android/media/FocusRequester.java",
      "new_id": "bbe5fd225c17576bebc040430c59a4a15f45f0eb",
      "new_mode": 33188,
      "new_path": "media/java/android/media/FocusRequester.java"
    },
    {
      "type": "modify",
      "old_id": "4d8aa762912e21de2e8289d13ce97a5a2be60aac",
      "old_mode": 33188,
      "old_path": "media/java/android/media/IAudioService.aidl",
      "new_id": "fad3cec78098b5df9fe20e0f9375cbd3b6bc02c9",
      "new_mode": 33188,
      "new_path": "media/java/android/media/IAudioService.aidl"
    },
    {
      "type": "modify",
      "old_id": "8d96970e3bf2af2f370f9a032a701c602deeded9",
      "old_mode": 33188,
      "old_path": "media/java/android/media/MediaFocusControl.java",
      "new_id": "6518bd162e39fbb145057221fdce9d0b658636c8",
      "new_mode": 33188,
      "new_path": "media/java/android/media/MediaFocusControl.java"
    },
    {
      "type": "modify",
      "old_id": "44d2430ec05251f6c1f516c57b34c9a2f16bb510",
      "old_mode": 33188,
      "old_path": "media/java/android/media/audiopolicy/AudioPolicy.java",
      "new_id": "f128044d64d75a7a2f9b9d2582f95e0ea17ed924",
      "new_mode": 33188,
      "new_path": "media/java/android/media/audiopolicy/AudioPolicy.java"
    },
    {
      "type": "modify",
      "old_id": "e2a20dabe41ef2a3704b69aa8b1e77a8b82d4552",
      "old_mode": 33188,
      "old_path": "media/java/android/media/audiopolicy/AudioPolicyConfig.java",
      "new_id": "019309d73ce1ef696f25f7e4ee9f7dda65a05fcc",
      "new_mode": 33188,
      "new_path": "media/java/android/media/audiopolicy/AudioPolicyConfig.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c777c582f3ab604a0e6e660b0b2ea635bd8317cd",
      "new_mode": 33188,
      "new_path": "media/java/android/media/audiopolicy/IAudioPolicyCallback.aidl"
    }
  ]
}
