summaryrefslogtreecommitdiffstats
path: root/tests/wifitests/src/com/android/server/wifi/hotspot2
diff options
context:
space:
mode:
authorEcco Park <eccopark@google.com>2018-12-21 09:45:39 -0800
committerEcco Park <eccopark@google.com>2018-12-28 13:31:52 -0800
commit6181e232de24b8661ecf2ad6124dc993d0e57a58 (patch)
treeb54c39e912881bdb65675fe708a580088bcf0ac6 /tests/wifitests/src/com/android/server/wifi/hotspot2
parentb581188a9a076d852ebaf19f1d10736f31ba6c97 (diff)
downloadandroid_frameworks_opt_net_wifi-6181e232de24b8661ecf2ad6124dc993d0e57a58.tar.gz
android_frameworks_opt_net_wifi-6181e232de24b8661ecf2ad6124dc993d0e57a58.tar.bz2
android_frameworks_opt_net_wifi-6181e232de24b8661ecf2ad6124dc993d0e57a58.zip
passpoint: Fix continuous crash of Passpoint network score calculation
The Wi-Fi Access Point Aruba620 causes trailing continuous NullPointerException. --------- beginning of crash *** FATAL EXCEPTION IN SYSTEM PROCESS: WifiStateMachine java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.Integer.intValue()' on a null object reference com.android.server.wifi.hotspot2.PasspointNetworkScore.calculateScore(PasspointNetworkScore.java:159) com.android.server.wifi.hotspot2.PasspointNetworkEvaluator.findBestNetwork(PasspointNetworkEvaluator.java:183) com.android.server.wifi.hotspot2.PasspointNetworkEvaluator.evaluateNetworks(PasspointNetworkEvaluator.java:112) com.android.server.wifi.WifiNetworkSelector.selectNetwork(WifiNetworkSelector.java:526) at com.android.server.wifi.WifiConnectivityManager.handleScanResults(WifiConnectivityManager.java:263) This is because the AP sends invalid Access network type in Interwoking Element. To fix the issue, we need to define score for reserved bits and add null check condition. Bug: 110476382 Test: /frameworks/opt/net/wifi/tests/wifitests/runtests.sh Change-Id: I973ea316290b023f3b7e816a9f6eba9da22cbc72 Signed-off-by: Ecco Park <eccopark@google.com>
Diffstat (limited to 'tests/wifitests/src/com/android/server/wifi/hotspot2')
-rw-r--r--tests/wifitests/src/com/android/server/wifi/hotspot2/PasspointNetworkScoreTest.java20
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/wifitests/src/com/android/server/wifi/hotspot2/PasspointNetworkScoreTest.java b/tests/wifitests/src/com/android/server/wifi/hotspot2/PasspointNetworkScoreTest.java
index 14815beb3..1bea1a279 100644
--- a/tests/wifitests/src/com/android/server/wifi/hotspot2/PasspointNetworkScoreTest.java
+++ b/tests/wifitests/src/com/android/server/wifi/hotspot2/PasspointNetworkScoreTest.java
@@ -346,4 +346,24 @@ public class PasspointNetworkScoreTest {
}
}
+ /**
+ * It should not throw {@link NullPointerException} when unsupported network type is provided.
+ *
+ * @throws Exception
+ */
+ @Test
+ public void calculatorScoreWithUnSupportedNetworkType() throws Exception {
+ TestData data = new TestData(false /* isHomeProvider */, false /* isActiveNetwork */,
+ -60 /* rssiLevel */, true /* internetAccess */,
+ NetworkDetail.Ant.Resvd6 /* reserved */, null /* anqpElements */,
+ /* expectedScore */
+ PasspointNetworkScore.INTERNET_ACCESS_AWARD
+ + PasspointNetworkScore.RSSI_SCORE.lookupScore(-60, false));
+
+ ScanDetail scanDetail = generateScanDetail(data.rssiLevel, data.internetAccess,
+ data.networkType);
+
+ assertEquals(data.expectedScore, PasspointNetworkScore.calculateScore(
+ data.isHomeProvider, scanDetail, data.anqpElements, data.isActiveNetwork));
+ }
}