diff options
author | Santos Cordon <santoscordon@google.com> | 2014-08-05 23:43:31 -0700 |
---|---|---|
committer | Santos Cordon <santoscordon@google.com> | 2014-08-05 23:43:31 -0700 |
commit | 12bccb9d6fa9f5e1daff8d51a0527dbdfb8606bd (patch) | |
tree | 3b88bf915da3832b557a36dbcb4dd35e768bb99a /InCallUI/src/com/android/incallui/VideoCallPresenter.java | |
parent | 164075975ba3ccabb9fcc3d78c6c5f5c1d281e10 (diff) |
Remove hardcoded audio route in video provider.
The video provider always calls exitVideo() and as a result always sets
the audio mode to EARPIECE when any call starts, negating any automatic
setting done by telecomm (like bluetooth).
This change has three items:
1. Only set the audio mode if we are exiting a previously entered video
call.
2. When setting audio on exit, set it to the mode that was previously
saved when the video call was entered.
3. Convert usages of the private AudioMode to the public CallStateAudio.
Change-Id: I484ea8fadc9b7cf43692b517c97f906918fc49f8
Diffstat (limited to 'InCallUI/src/com/android/incallui/VideoCallPresenter.java')
-rw-r--r-- | InCallUI/src/com/android/incallui/VideoCallPresenter.java | 30 |
1 files changed, 19 insertions, 11 deletions
diff --git a/InCallUI/src/com/android/incallui/VideoCallPresenter.java b/InCallUI/src/com/android/incallui/VideoCallPresenter.java index 1d3e62b5b..77aa4ac0c 100644 --- a/InCallUI/src/com/android/incallui/VideoCallPresenter.java +++ b/InCallUI/src/com/android/incallui/VideoCallPresenter.java @@ -16,20 +16,19 @@ package com.android.incallui; -import com.google.common.base.Preconditions; -import com.android.incallui.InCallVideoCallListenerNotifier.SurfaceChangeListener; -import com.android.incallui.InCallVideoCallListenerNotifier.VideoEventListener; -import com.android.incallui.InCallPresenter.InCallDetailsListener; -import com.android.incallui.InCallPresenter.InCallOrientationListener; -import com.android.incallui.InCallPresenter.InCallStateListener; -import com.android.incallui.InCallPresenter.IncomingCallListener; - import android.content.Context; import android.content.res.Configuration; +import android.telecomm.CallAudioState; import android.telecomm.InCallService.VideoCall; import android.view.Surface; -import com.android.services.telephony.common.AudioMode; +import com.android.incallui.InCallPresenter.InCallDetailsListener; +import com.android.incallui.InCallPresenter.InCallOrientationListener; +import com.android.incallui.InCallPresenter.InCallStateListener; +import com.android.incallui.InCallPresenter.IncomingCallListener; +import com.android.incallui.InCallVideoCallListenerNotifier.SurfaceChangeListener; +import com.android.incallui.InCallVideoCallListenerNotifier.VideoEventListener; +import com.google.common.base.Preconditions; import java.util.Objects; @@ -142,6 +141,11 @@ public class VideoCallPresenter extends Presenter<VideoCallPresenter.VideoCallUi private boolean mIsFullScreen = false; /** + * Saves the audio mode which was selected prior to going into a video call. + */ + private int mPreVideoAudioMode = AudioModeProvider.AUDIO_MODE_INVALID; + + /** * Initializes the presenter. * * @param context The current context. @@ -410,7 +414,8 @@ public class VideoCallPresenter extends Presenter<VideoCallPresenter.VideoCallUi } } - TelecommAdapter.getInstance().setAudioRoute(AudioMode.SPEAKER); + mPreVideoAudioMode = AudioModeProvider.getInstance().getAudioMode(); + TelecommAdapter.getInstance().setAudioRoute(CallAudioState.ROUTE_SPEAKER); } /** @@ -424,7 +429,10 @@ public class VideoCallPresenter extends Presenter<VideoCallPresenter.VideoCallUi InCallPresenter.getInstance().setInCallAllowsOrientationChange(false); ui.showVideoUi(false); - TelecommAdapter.getInstance().setAudioRoute(AudioMode.WIRED_OR_EARPIECE); + if (mPreVideoAudioMode != AudioModeProvider.AUDIO_MODE_INVALID) { + TelecommAdapter.getInstance().setAudioRoute(mPreVideoAudioMode); + mPreVideoAudioMode = AudioModeProvider.AUDIO_MODE_INVALID; + } } /** |