Audio routing part 2
- Added WIRED_HEADSET and SPEAKER to AudioModes
- Added WiredHeadsetManager class
- AudioRouter now listens to WiredHeadsetManager and PhoneUtils for
speakerphone
- AudioRouter maintains state across earpiece,headset,bluetooth,speaker
- Most code copied from InCallScreen for speaker logic
- CallHandlerService listens to audioRouter for audio states
- Moved Wired headset logic from phoneglobals to wiredheadsetmanager
- Better toString for logging Call objects
Change-Id: Iebc8c83934ce5eff6f1918b0610804fadb163b43
diff --git a/src/com/android/phone/PhoneUtils.java b/src/com/android/phone/PhoneUtils.java
index f243123..93f3002 100644
--- a/src/com/android/phone/PhoneUtils.java
+++ b/src/com/android/phone/PhoneUtils.java
@@ -2460,11 +2460,15 @@
boolean activated = false;
if (PhoneGlobals.mDockState != Intent.EXTRA_DOCK_STATE_UNDOCKED) {
if (DBG) log("activateSpeakerIfDocked(): In a dock -> may need to turn on speaker.");
- PhoneGlobals app = PhoneGlobals.getInstance();
- final BluetoothManager btManager = app.getBluetoothManager();
+ final PhoneGlobals app = PhoneGlobals.getInstance();
- if (!app.isHeadsetPlugged() && !btManager.isBluetoothHeadsetAudioOn()) {
- turnOnSpeaker(phone.getContext(), true, true);
+ // TODO(klp): This function should move to AudioRouter
+ final BluetoothManager btManager = app.getBluetoothManager();
+ final WiredHeadsetManager wiredHeadset = app.getWiredHeadsetManager();
+ final AudioRouter audioRouter = app.getAudioRouter();
+
+ if (!wiredHeadset.isHeadsetPlugged() && !btManager.isBluetoothHeadsetAudioOn()) {
+ audioRouter.setSpeaker(true);
activated = true;
}
}