From 094ab86334602dd5402f371b0b7e71746df7a476 Mon Sep 17 00:00:00 2001 From: Mingguang Xu Date: Fri, 19 Apr 2019 12:37:19 -0700 Subject: Wifi usability: Check screen status before adding bad Wifi usability stats Message of IP_reachability_lost and wifi_firmware_alert may occur while screen goes off and the Wifi usability stats triggered by them are not useful. Add a check to filter out them. Bug: 129282057 Test: frameworks/opt/net/wifi/tests/wifitests/runtests.sh Change-Id: I8a9f809879ba46732dbf034785a28da0df287de4 Signed-off-by: Mingguang Xu --- .../com/android/server/wifi/WifiMetricsTest.java | 28 ++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'tests') diff --git a/tests/wifitests/src/com/android/server/wifi/WifiMetricsTest.java b/tests/wifitests/src/com/android/server/wifi/WifiMetricsTest.java index 303f5b36e..d3b6b2ff8 100644 --- a/tests/wifitests/src/com/android/server/wifi/WifiMetricsTest.java +++ b/tests/wifitests/src/com/android/server/wifi/WifiMetricsTest.java @@ -3941,4 +3941,32 @@ public class WifiMetricsTest { } } } + + /** + * Verify that the LABEL_BAD Wifi usability stats are not saved if screen state is off. + * @throws Exception + */ + @Test + public void verifyLabelBadStatsAreNotSavedIfScreenIsOff() throws Exception { + mWifiMetrics.setScreenState(false); + WifiInfo info = mock(WifiInfo.class); + when(info.getRssi()).thenReturn(nextRandInt()); + when(info.getLinkSpeed()).thenReturn(nextRandInt()); + WifiLinkLayerStats stats1 = nextRandomStats(new WifiLinkLayerStats()); + mWifiMetrics.updateWifiUsabilityStatsEntries(info, stats1); + + // Add 1 LABEL_GOOD + WifiLinkLayerStats statsGood = addGoodWifiUsabilityStats(nextRandomStats(stats1)); + // IP reachability lost occurs + mWifiMetrics.addToWifiUsabilityStatsList(WifiUsabilityStats.LABEL_BAD, + WifiUsabilityStats.TYPE_IP_REACHABILITY_LOST, -1); + // Wifi data stall occurs + mWifiMetrics.addToWifiUsabilityStatsList(WifiUsabilityStats.LABEL_BAD, + WifiIsUnusableEvent.TYPE_DATA_STALL_BAD_TX, -1); + // Firmware alert occurs + mWifiMetrics.logFirmwareAlert(2); + + dumpProtoAndDeserialize(); + assertEquals(0, mDecodedProto.wifiUsabilityStatsList.length); + } } -- cgit v1.2.3