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);
+            }
+        }
+    }
 }