diff options
author | Jeff Brown <jeffbrown@google.com> | 2012-09-17 12:20:29 -0700 |
---|---|---|
committer | Jeff Brown <jeffbrown@google.com> | 2012-09-17 12:24:43 -0700 |
commit | c9bd4ca005768cb30aaaa44c1171e113c13cd107 (patch) | |
tree | e3e4088be59a7888bb4b6a575b39d859f39e726d /services/java/com/android/server | |
parent | a41d5db2350108c1d2eceb83b677faed6b7893a8 (diff) | |
download | frameworks_base-c9bd4ca005768cb30aaaa44c1171e113c13cd107.zip frameworks_base-c9bd4ca005768cb30aaaa44c1171e113c13cd107.tar.gz frameworks_base-c9bd4ca005768cb30aaaa44c1171e113c13cd107.tar.bz2 |
Swap remote submix initialization order.
Need to turn the submix on before connecting and off
after disconnecting.
Change-Id: I53389c3b61e6d663855accd0461eed42a67d9d2b
Diffstat (limited to 'services/java/com/android/server')
-rw-r--r-- | services/java/com/android/server/display/WifiDisplayController.java | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/services/java/com/android/server/display/WifiDisplayController.java b/services/java/com/android/server/display/WifiDisplayController.java index 141cbd7..87e11e6 100644 --- a/services/java/com/android/server/display/WifiDisplayController.java +++ b/services/java/com/android/server/display/WifiDisplayController.java @@ -129,6 +129,9 @@ final class WifiDisplayController implements DumpUtils.Dump { // True if RTSP has connected. private boolean mRemoteDisplayConnected; + // True if the remote submix is enabled. + private boolean mRemoteSubmixOn; + public WifiDisplayController(Context context, Handler handler, Listener listener) { mContext = context; mHandler = handler; @@ -160,6 +163,7 @@ final class WifiDisplayController implements DumpUtils.Dump { pw.println("mRemoteDisplay=" + mRemoteDisplay); pw.println("mRemoteDisplayInterface=" + mRemoteDisplayInterface); pw.println("mRemoteDisplayConnected=" + mRemoteDisplayConnected); + pw.println("mRemoteSubmixOn=" + mRemoteSubmixOn); pw.println("mKnownWifiDisplayPeers: size=" + mKnownWifiDisplayPeers.size()); for (WifiP2pDevice device : mKnownWifiDisplayPeers) { @@ -390,16 +394,14 @@ final class WifiDisplayController implements DumpUtils.Dump { Slog.i(TAG, "Stopped listening for RTSP connection on " + mRemoteDisplayInterface + " from Wifi display: " + mConnectedDevice.deviceName); - if (mRemoteDisplayConnected) { - mAudioManager.setRemoteSubmixOn(false, REMOTE_SUBMIX_ADDRESS); - } - mRemoteDisplay.dispose(); mRemoteDisplay = null; mRemoteDisplayInterface = null; mRemoteDisplayConnected = false; mHandler.removeCallbacks(mRtspTimeout); + setRemoteSubmixOn(false); + mHandler.post(new Runnable() { @Override public void run() { @@ -527,6 +529,8 @@ final class WifiDisplayController implements DumpUtils.Dump { return; // done } + setRemoteSubmixOn(true); + final WifiP2pDevice oldDevice = mConnectedDevice; final int port = getPortNumber(mConnectedDevice); final String iface = addr.getHostAddress() + ":" + port; @@ -545,8 +549,6 @@ final class WifiDisplayController implements DumpUtils.Dump { mRemoteDisplayConnected = true; mHandler.removeCallbacks(mRtspTimeout); - mAudioManager.setRemoteSubmixOn(true, REMOTE_SUBMIX_ADDRESS); - final WifiDisplay display = createWifiDisplay(mConnectedDevice); mHandler.post(new Runnable() { @Override @@ -583,6 +585,13 @@ final class WifiDisplayController implements DumpUtils.Dump { } } + private void setRemoteSubmixOn(boolean on) { + if (mRemoteSubmixOn != on) { + mRemoteSubmixOn = on; + mAudioManager.setRemoteSubmixOn(on, REMOTE_SUBMIX_ADDRESS); + } + } + private void handleStateChanged(boolean enabled) { if (mWifiP2pEnabled != enabled) { mWifiP2pEnabled = enabled; |