Bluetooth indicator should depends on call state

Add CallModel listener to BluetoothManager so that it can alter the
bluetooth state when calls change.

Change-Id: Idf0b9a4b8b2247ac5ddf1fcc1d8359c85bb299da
(cherry picked from commit 9f8953efa3983a1cd3f8411636300deab6ad3789)
diff --git a/src/com/android/phone/AudioRouter.java b/src/com/android/phone/AudioRouter.java
index 812d92c..517f777 100644
--- a/src/com/android/phone/AudioRouter.java
+++ b/src/com/android/phone/AudioRouter.java
@@ -253,7 +253,7 @@
         int mode = AudioMode.EARPIECE;
 
         // There is a very specific ordering here
-        if (mBluetoothManager.isBluetoothAudioConnectedOrPending()) {
+        if (mBluetoothManager.showBluetoothIndication()) {
             mode = AudioMode.BLUETOOTH;
         } else if (PhoneUtils.isSpeakerOn(mContext)) {
             mode = AudioMode.SPEAKER;
@@ -287,13 +287,12 @@
         // only update if it really changed.
         if (mAudioMode != mode) {
             Log.i(LOG_TAG, "Audio mode changing to " + AudioMode.toString(mode));
-
-            mPreviousMode = mAudioMode;
-            mAudioMode = mode;
-
             doNotify = true;
         }
 
+        mPreviousMode = mAudioMode;
+        mAudioMode = mode;
+
         if (doNotify) {
             notifyListeners();
         }