Add getCallState to Telecomm

Use getCallState in TelecommManager.isInCall and isRinging

Bug: 17378767
Change-Id: Id356c03f7fa21297d0376d56e09ce3f45399435b
diff --git a/src/com/android/server/telecom/CallsManager.java b/src/com/android/server/telecom/CallsManager.java
index d0aa49f..8a5647c 100644
--- a/src/com/android/server/telecom/CallsManager.java
+++ b/src/com/android/server/telecom/CallsManager.java
@@ -89,6 +89,7 @@
     private final WiredHeadsetManager mWiredHeadsetManager;
     private final TtyManager mTtyManager;
     private final ProximitySensorManager mProximitySensorManager;
+    private final PhoneStateBroadcaster mPhoneStateBroadcaster;
 
     /**
      * The call the user is currently interacting with. This is the call that should have audio
@@ -115,10 +116,11 @@
         mHeadsetMediaButton = new HeadsetMediaButton(app, this);
         mTtyManager = new TtyManager(app, mWiredHeadsetManager);
         mProximitySensorManager = new ProximitySensorManager(app);
+        mPhoneStateBroadcaster = new PhoneStateBroadcaster();
 
         mListeners.add(statusBarNotifier);
         mListeners.add(new CallLogManager(app));
-        mListeners.add(new PhoneStateBroadcaster());
+        mListeners.add(mPhoneStateBroadcaster);
         mListeners.add(mInCallController);
         mListeners.add(mRinger);
         mListeners.add(new RingbackPlayer(this, playerFactory));
@@ -755,6 +757,12 @@
         return call;
     }
 
+    /**
+     * @return the call state currently tracked by {@link PhoneStateBroadcaster}
+     */
+    int getCallState() {
+        return mPhoneStateBroadcaster.getCallState();
+    }
 
     /**
      * Adds the specified call to the main list of live calls.