diff --git a/src/com/android/settings/wifi/p2p/WifiP2pSettings.java b/src/com/android/settings/wifi/p2p/WifiP2pSettings.java index c2111d64e02..1a268f5152b 100644 --- a/src/com/android/settings/wifi/p2p/WifiP2pSettings.java +++ b/src/com/android/settings/wifi/p2p/WifiP2pSettings.java @@ -617,6 +617,9 @@ public class WifiP2pSettings extends DashboardFragment } private void onDeviceAvailable() { + if (mWifiP2pManager == null || sChannel == null) { + return; + } mWifiP2pManager.requestNetworkInfo(sChannel, networkInfo -> { if (sChannel == null) return; mWifiP2pManager.requestConnectionInfo(sChannel, wifip2pinfo -> { diff --git a/tests/robotests/src/com/android/settings/wifi/p2p/WifiP2pSettingsTest.java b/tests/robotests/src/com/android/settings/wifi/p2p/WifiP2pSettingsTest.java index fbe184d7270..25a59a9e158 100644 --- a/tests/robotests/src/com/android/settings/wifi/p2p/WifiP2pSettingsTest.java +++ b/tests/robotests/src/com/android/settings/wifi/p2p/WifiP2pSettingsTest.java @@ -21,6 +21,7 @@ import static com.google.common.truth.Truth.assertThat; import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.never; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; @@ -150,6 +151,13 @@ public class WifiP2pSettingsTest { verify(mWifiP2pManager, times(1)).requestNetworkInfo(any(), any()); } + @Test + public void onDeviceInfoAvailable_nullChannel_shouldBeIgnored() { + mFragment.sChannel = null; + mFragment.onDeviceInfoAvailable(mock(WifiP2pDevice.class)); + verify(mWifiP2pManager, never()).requestNetworkInfo(any(), any()); + } + @Test public void beSearching_getP2pStateDisabledIntent_shouldBeFalse() { final Bundle bundle = new Bundle();