Skip to content

Commit 434f817

Browse files
adampAndroid (Google) Code Review
authored andcommitted
Merge "Don't do a wifi p2p scan in MediaRouter if we're already connected" into jb-mr1-dev
2 parents eb7f157 + b072a96 commit 434f817

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

media/java/android/media/MediaRouter.java

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -693,7 +693,8 @@ static void updateWifiDisplayStatus(WifiDisplayStatus newStatus) {
693693
final WifiDisplayStatus oldStatus = sStatic.mLastKnownWifiDisplayStatus;
694694

695695
// TODO Naive implementation. Make this smarter later.
696-
boolean needScan = false;
696+
boolean wantScan = false;
697+
boolean blockScan = false;
697698
WifiDisplay[] oldDisplays = oldStatus != null ?
698699
oldStatus.getRememberedDisplays() : new WifiDisplay[0];
699700
WifiDisplay[] newDisplays = newStatus.getRememberedDisplays();
@@ -706,7 +707,7 @@ static void updateWifiDisplayStatus(WifiDisplayStatus newStatus) {
706707
if (oldRemembered == null) {
707708
addRouteStatic(makeWifiDisplayRoute(d,
708709
findMatchingDisplay(d, availableDisplays) != null));
709-
needScan = true;
710+
wantScan = true;
710711
} else {
711712
final boolean available = findMatchingDisplay(d, availableDisplays) != null;
712713
final RouteInfo route = findWifiDisplayRoute(d);
@@ -716,6 +717,10 @@ static void updateWifiDisplayStatus(WifiDisplayStatus newStatus) {
716717
final RouteInfo activeRoute = findWifiDisplayRoute(d);
717718
if (activeRoute != null) {
718719
selectRouteStatic(activeRoute.getSupportedTypes(), activeRoute);
720+
721+
// Don't scan if we're already connected to a wifi display,
722+
// the scanning process can cause a hiccup with some configurations.
723+
blockScan = true;
719724
}
720725
}
721726
}
@@ -727,7 +732,7 @@ static void updateWifiDisplayStatus(WifiDisplayStatus newStatus) {
727732
}
728733
}
729734

730-
if (needScan) {
735+
if (wantScan && !blockScan) {
731736
sStatic.mDisplayService.scanWifiDisplays();
732737
}
733738

0 commit comments

Comments
 (0)