Fix port logic in WifiDisplayController.

It's not the port advertised in the sink's wfd IE, it's the one our
source broadcasts in its wfd IE. In addition some dongles ignore the
broadcast port and have to be special cased.

Change-Id: Id5d279652e336391ba34dfc30bba700043d49b1d
diff --git a/services/java/com/android/server/display/WifiDisplayController.java b/services/java/com/android/server/display/WifiDisplayController.java
index b617d00..67691df 100644
--- a/services/java/com/android/server/display/WifiDisplayController.java
+++ b/services/java/com/android/server/display/WifiDisplayController.java
@@ -493,8 +493,13 @@
                 return; // done
             }
 
-            WifiP2pWfdInfo wfdInfo = mConnectedDevice.wfdInfo;
-            int port = (wfdInfo != null ? wfdInfo.getControlPort() : DEFAULT_CONTROL_PORT);
+            int port = DEFAULT_CONTROL_PORT;
+            if (mConnectedDevice.deviceName.startsWith("DIRECT-")
+                    && mConnectedDevice.deviceName.endsWith("Broadcom")) {
+                // These dongles ignore the port we broadcast in our WFD IE.
+                port = 8554;
+            }
+
             final WifiDisplay display = createWifiDisplay(mConnectedDevice);
             final String iface = addr.getHostAddress() + ":" + port;