diff options
| -rw-r--r-- | service/java/com/android/server/wifi/WifiServiceImpl.java | 6 | ||||
| -rw-r--r-- | service/tests/wifitests/src/com/android/server/wifi/WifiServiceImplTest.java | 16 |
2 files changed, 20 insertions, 2 deletions
diff --git a/service/java/com/android/server/wifi/WifiServiceImpl.java b/service/java/com/android/server/wifi/WifiServiceImpl.java index 34368afed2..b8271006ba 100644 --- a/service/java/com/android/server/wifi/WifiServiceImpl.java +++ b/service/java/com/android/server/wifi/WifiServiceImpl.java @@ -7322,8 +7322,10 @@ public class WifiServiceImpl extends BaseWifiService { ); } - private boolean isPnoSupported() { - return (getSupportedFeatures() & WifiManager.WIFI_FEATURE_PNO) != 0; + @VisibleForTesting + public boolean isPnoSupported() { + return mWifiGlobals.isBackgroundScanSupported() + || (getSupportedFeatures() & WifiManager.WIFI_FEATURE_PNO) != 0; } /** diff --git a/service/tests/wifitests/src/com/android/server/wifi/WifiServiceImplTest.java b/service/tests/wifitests/src/com/android/server/wifi/WifiServiceImplTest.java index bbd4d4e659..4f3e97d9ac 100644 --- a/service/tests/wifitests/src/com/android/server/wifi/WifiServiceImplTest.java +++ b/service/tests/wifitests/src/com/android/server/wifi/WifiServiceImplTest.java @@ -12048,4 +12048,20 @@ public class WifiServiceImplTest extends WifiBaseTest { verify(mWifiGlobals, times(2)).getSendDhcpHostnameRestriction(); inOrder.verify(listener).onResult(SEND_DHCP_HOSTNAME_RESTRICTION_ALL); } + + /* + * Verify that Pno is supported. + */ + @Test + public void testIsPnoSupported() { + when(mWifiGlobals.isBackgroundScanSupported()).thenReturn(false); + assertFalse(mWifiServiceImpl.isPnoSupported()); + when(mActiveModeWarden.getSupportedFeatureSet()).thenReturn(0L); + assertFalse(mWifiServiceImpl.isPnoSupported()); + + when(mActiveModeWarden.getSupportedFeatureSet()).thenReturn(WifiManager.WIFI_FEATURE_PNO); + assertTrue(mWifiServiceImpl.isPnoSupported()); + when(mWifiGlobals.isBackgroundScanSupported()).thenReturn(true); + assertTrue(mWifiServiceImpl.isPnoSupported()); + } } |