Set media session active when there are calls.
Bug: 15190801
Change-Id: I357778743568cca00fcd8d8dd4b11c21772c3d0e
diff --git a/src/com/android/telecomm/HeadsetMediaButton.java b/src/com/android/telecomm/HeadsetMediaButton.java
index 6ca9b86..dab2475 100644
--- a/src/com/android/telecomm/HeadsetMediaButton.java
+++ b/src/com/android/telecomm/HeadsetMediaButton.java
@@ -29,7 +29,7 @@
/**
* Static class to handle listening to the headset media buttons.
*/
-final class HeadsetMediaButton {
+final class HeadsetMediaButton extends CallsManagerListenerBase {
/**
* Broadcast receiver for the ACTION_MEDIA_BUTTON broadcast intent.
@@ -133,4 +133,22 @@
return true;
}
+
+ /** ${inheritDoc} */
+ @Override
+ public void onCallAdded(Call call) {
+ if (!mSession.isActive()) {
+ mSession.setActive(true);
+ }
+ }
+
+ /** ${inheritDoc} */
+ @Override
+ public void onCallRemoved(Call call) {
+ if (!mCallsManager.hasAnyCalls()) {
+ if (mSession.isActive()) {
+ mSession.setActive(false);
+ }
+ }
+ }
}