Fix NullPointerException for WifiDisplayController.
Set WifiDisplay to unavailable if p2p device is unavailable,
because the approach of WifiP2pWfdInfo.getWfdInfo() maybe return null,
so we need to do a non-null check to ensure the NPE issue will not
happen.
Bug: 297799091
Test: atest FrameworksWifiApiTests
Change-Id: I06e77719e646a28cc40e1e3d7c45b4f3c9472673
Signed-off-by: jiayongqiang <jiayongqiang@xiaomi.com>
diff --git a/services/core/java/com/android/server/display/WifiDisplayController.java b/services/core/java/com/android/server/display/WifiDisplayController.java
index cd36dd0..04ae13f 100644
--- a/services/core/java/com/android/server/display/WifiDisplayController.java
+++ b/services/core/java/com/android/server/display/WifiDisplayController.java
@@ -1062,8 +1062,10 @@
}
private static WifiDisplay createWifiDisplay(WifiP2pDevice device) {
+ WifiP2pWfdInfo wfdInfo = device.getWfdInfo();
+ boolean isSessionAvailable = wfdInfo != null && wfdInfo.isSessionAvailable();
return new WifiDisplay(device.deviceAddress, device.deviceName, null,
- true, device.getWfdInfo().isSessionAvailable(), false);
+ true, isSessionAvailable, false);
}
private final BroadcastReceiver mWifiP2pReceiver = new BroadcastReceiver() {