Merge "Protect against INCALL->RINGING transition in AudioManager" into lmp-dev
diff --git a/src/com/android/server/telecom/CallAudioManager.java b/src/com/android/server/telecom/CallAudioManager.java
index c24a9c0..a89dcea 100644
--- a/src/com/android/server/telecom/CallAudioManager.java
+++ b/src/com/android/server/telecom/CallAudioManager.java
@@ -392,7 +392,12 @@
Preconditions.checkState(hasFocus());
int oldMode = mAudioManager.getMode();
Log.v(this, "Request to change audio mode from %d to %d", oldMode, newMode);
+
if (oldMode != newMode) {
+ if (oldMode == AudioManager.MODE_IN_CALL && newMode == AudioManager.MODE_RINGTONE) {
+ Log.i(this, "Transition from IN_CALL -> RINGTONE. Resetting to NORMAL first.");
+ mAudioManager.setMode(AudioManager.MODE_NORMAL);
+ }
mAudioManager.setMode(newMode);
mMostRecentlyUsedMode = newMode;
}