Turn off mWasOnSpeaker if user explicitly leaves speakerphone
Bug: 28300938
Change-Id: Iab8663b97d236946183270c4d33e63d6de1c224a
diff --git a/src/com/android/server/telecom/CallAudioRouteStateMachine.java b/src/com/android/server/telecom/CallAudioRouteStateMachine.java
index 5234a82..af728c9 100644
--- a/src/com/android/server/telecom/CallAudioRouteStateMachine.java
+++ b/src/com/android/server/telecom/CallAudioRouteStateMachine.java
@@ -778,24 +778,30 @@
return HANDLED;
}
switch(msg.what) {
- case SWITCH_EARPIECE:
case USER_SWITCH_EARPIECE:
+ mWasOnSpeaker = false;
+ // fall through
+ case SWITCH_EARPIECE:
if ((mAvailableRoutes & ROUTE_EARPIECE) != 0) {
transitionTo(mActiveEarpieceRoute);
} else {
Log.w(this, "Ignoring switch to earpiece command. Not available.");
}
return HANDLED;
- case SWITCH_BLUETOOTH:
case USER_SWITCH_BLUETOOTH:
+ mWasOnSpeaker = false;
+ // fall through
+ case SWITCH_BLUETOOTH:
if ((mAvailableRoutes & ROUTE_BLUETOOTH) != 0) {
transitionTo(mActiveBluetoothRoute);
} else {
Log.w(this, "Ignoring switch to bluetooth command. Not available.");
}
return HANDLED;
- case SWITCH_HEADSET:
case USER_SWITCH_HEADSET:
+ mWasOnSpeaker = false;
+ // fall through
+ case SWITCH_HEADSET:
if ((mAvailableRoutes & ROUTE_WIRED_HEADSET) != 0) {
transitionTo(mActiveHeadsetRoute);
} else {