summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--media/java/android/media/tv/TvView.java8
1 files changed, 8 insertions, 0 deletions
diff --git a/media/java/android/media/tv/TvView.java b/media/java/android/media/tv/TvView.java
index c2459a64d44f..245332507ac6 100644
--- a/media/java/android/media/tv/TvView.java
+++ b/media/java/android/media/tv/TvView.java
@@ -64,6 +64,8 @@ public class TvView extends SurfaceView {
private MySessionCallback mSessionCallback;
private TvInputListener mListener;
private OnUnhandledInputEventListener mOnUnhandledInputEventListener;
+ private boolean mHasStreamVolume;
+ private float mStreamVolume;
private final SurfaceHolder.Callback mSurfaceHolderCallback = new SurfaceHolder.Callback() {
@Override
@@ -143,7 +145,10 @@ public class TvView extends SurfaceView {
*/
public void setStreamVolume(float volume) {
if (DEBUG) Log.d(TAG, "setStreamVolume(" + volume + ")");
+ mHasStreamVolume = true;
+ mStreamVolume = volume;
if (mSession == null) {
+ // Volume will be set once the connection has been made.
return;
}
mSession.setStreamVolume(volume);
@@ -476,6 +481,9 @@ public class TvView extends SurfaceView {
}
createSessionOverlayView();
mSession.tune(mChannelUri);
+ if (mHasStreamVolume) {
+ mSession.setStreamVolume(mStreamVolume);
+ }
} else {
if (mListener != null) {
mListener.onError(mInputId, ERROR_BUSY);