summaryrefslogtreecommitdiff
path: root/InCallUI/src/com/android/incallui/VideoCallPresenter.java
diff options
context:
space:
mode:
authorSantos Cordon <santoscordon@google.com>2014-08-05 23:43:31 -0700
committerSantos Cordon <santoscordon@google.com>2014-08-05 23:43:31 -0700
commit12bccb9d6fa9f5e1daff8d51a0527dbdfb8606bd (patch)
tree3b88bf915da3832b557a36dbcb4dd35e768bb99a /InCallUI/src/com/android/incallui/VideoCallPresenter.java
parent164075975ba3ccabb9fcc3d78c6c5f5c1d281e10 (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.java30
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;
+ }
}
/**