Move BluetoothManager to telecomm.

Copy over bluetooth manager from teleservice and add usage in
CallAudioManager (for audio routing), Ringer (ringtone routing),
InCallTonePlayer (tone routing).

Change-Id: I015961aebf42389a7f4cf3a5f89ec194d6ca64e2
Bug: 13242863
diff --git a/src/com/android/telecomm/CallsManager.java b/src/com/android/telecomm/CallsManager.java
index a4b2086..e242691 100644
--- a/src/com/android/telecomm/CallsManager.java
+++ b/src/com/android/telecomm/CallsManager.java
@@ -343,7 +343,7 @@
         if (!mCalls.contains(call)) {
             Log.w(this, "Unknown call (%s) asked to be removed from hold", call);
         } else {
-            Log.d(this, "Removing call from hold: (%s)", call);
+            Log.d(this, "unholding call: (%s)", call);
             call.unhold();
         }
     }
@@ -473,6 +473,25 @@
         }
     }
 
+    boolean hasActiveOrHoldingCall() {
+        for (Call call : mCalls) {
+            CallState state = call.getState();
+            if (state == CallState.ACTIVE || state == CallState.ON_HOLD) {
+                return true;
+            }
+        }
+        return false;
+    }
+
+    boolean hasRingingCall() {
+        for (Call call : mCalls) {
+            if (call.getState() == CallState.RINGING) {
+                return true;
+            }
+        }
+        return false;
+    }
+
     /**
      * Adds the specified call to the main list of live calls.
      *