Reset speaker mode when done with VVM Tab
Bug: 110530781,78281972
Test: N/A
PiperOrigin-RevId: 201729044
Change-Id: Id00e8e3e4ee89b846bce78f4a29d5e6f26384e0c
diff --git a/java/com/android/dialer/app/calllog/VisualVoicemailCallLogFragment.java b/java/com/android/dialer/app/calllog/VisualVoicemailCallLogFragment.java
index 930edd1..5575cac 100644
--- a/java/com/android/dialer/app/calllog/VisualVoicemailCallLogFragment.java
+++ b/java/com/android/dialer/app/calllog/VisualVoicemailCallLogFragment.java
@@ -127,6 +127,12 @@
public void onPause() {
voicemailPlaybackPresenter.onPause();
voicemailErrorManager.onPause();
+ // Necessary to reset the speaker when leaving otherwise the platform will still remain in
+ // speaker mode
+ AudioManager audioManager = getContext().getSystemService(AudioManager.class);
+ if (audioManager.isSpeakerphoneOn()) {
+ audioManager.setSpeakerphoneOn(false);
+ }
super.onPause();
}
diff --git a/java/com/android/dialer/app/voicemail/VoicemailPlaybackPresenter.java b/java/com/android/dialer/app/voicemail/VoicemailPlaybackPresenter.java
index 6d1728f..6fc8d23 100644
--- a/java/com/android/dialer/app/voicemail/VoicemailPlaybackPresenter.java
+++ b/java/com/android/dialer/app/voicemail/VoicemailPlaybackPresenter.java
@@ -24,6 +24,7 @@
import android.content.Intent;
import android.database.ContentObserver;
import android.database.Cursor;
+import android.media.AudioManager;
import android.media.MediaPlayer;
import android.net.Uri;
import android.os.AsyncTask;
@@ -207,6 +208,8 @@
position = savedInstanceState.getInt(CLIP_POSITION_KEY, 0);
isPlaying = savedInstanceState.getBoolean(IS_PLAYING_STATE_KEY, false);
isSpeakerphoneOn = savedInstanceState.getBoolean(IS_SPEAKERPHONE_ON_KEY, false);
+ AudioManager audioManager = activity.getSystemService(AudioManager.class);
+ audioManager.setSpeakerphoneOn(isSpeakerphoneOn);
}
if (mediaPlayer == null) {