summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJong Wook Kim <jongwook@google.com>2018-08-14 21:41:36 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2018-08-14 21:41:36 +0000
commit02bf534976bc550fc7724dbd6bc2b8232f77b8b0 (patch)
tree4bc7a0009eb55385cdb7a0c0e2bf59b7cd85231a
parent7628196f455d9f550af603879692a7aea34d9555 (diff)
parentc3b4bcfb325898a9d753d5dae8aeaa8817999296 (diff)
Merge "Log when wifi is turned on/off in metrics"
-rw-r--r--service/java/com/android/server/wifi/ClientModeImpl.java2
-rw-r--r--service/java/com/android/server/wifi/WifiMetrics.java8
-rw-r--r--tests/wifitests/src/com/android/server/wifi/ClientModeImplTest.java10
-rw-r--r--tests/wifitests/src/com/android/server/wifi/WifiMetricsTest.java12
4 files changed, 29 insertions, 3 deletions
diff --git a/service/java/com/android/server/wifi/ClientModeImpl.java b/service/java/com/android/server/wifi/ClientModeImpl.java
index 3c5f75ca9..f376a6d5f 100644
--- a/service/java/com/android/server/wifi/ClientModeImpl.java
+++ b/service/java/com/android/server/wifi/ClientModeImpl.java
@@ -3883,6 +3883,7 @@ public class ClientModeImpl extends StateMachine {
mWifiConnectivityManager.setWifiEnabled(true);
// Inform metrics that Wifi is Enabled (but not yet connected)
mWifiMetrics.setWifiState(WifiMetricsProto.WifiLog.WIFI_DISCONNECTED);
+ mWifiMetrics.logStaEvent(StaEvent.TYPE_WIFI_ENABLED);
// Inform p2p service that wifi is up and ready when applicable
p2pSendMessage(ClientModeImpl.CMD_ENABLE_P2P);
// Inform sar manager that wifi is Enabled
@@ -3900,6 +3901,7 @@ public class ClientModeImpl extends StateMachine {
mWifiConnectivityManager.setWifiEnabled(false);
// Inform metrics that Wifi is being disabled (Toggled, airplane enabled, etc)
mWifiMetrics.setWifiState(WifiMetricsProto.WifiLog.WIFI_DISABLED);
+ mWifiMetrics.logStaEvent(StaEvent.TYPE_WIFI_DISABLED);
// Inform sar manager that wifi is being disabled
mSarManager.setClientWifiState(WifiManager.WIFI_STATE_DISABLED);
diff --git a/service/java/com/android/server/wifi/WifiMetrics.java b/service/java/com/android/server/wifi/WifiMetrics.java
index deca6e40d..1a7f1b8a8 100644
--- a/service/java/com/android/server/wifi/WifiMetrics.java
+++ b/service/java/com/android/server/wifi/WifiMetrics.java
@@ -2881,6 +2881,8 @@ public class WifiMetrics {
case StaEvent.TYPE_FRAMEWORK_DISCONNECT:
case StaEvent.TYPE_SCORE_BREACH:
case StaEvent.TYPE_MAC_CHANGE:
+ case StaEvent.TYPE_WIFI_ENABLED:
+ case StaEvent.TYPE_WIFI_DISABLED:
break;
default:
Log.e(TAG, "Unknown StaEvent:" + type);
@@ -3076,6 +3078,12 @@ public class WifiMetrics {
case StaEvent.TYPE_MAC_CHANGE:
sb.append("MAC_CHANGE");
break;
+ case StaEvent.TYPE_WIFI_ENABLED:
+ sb.append("WIFI_ENABLED");
+ break;
+ case StaEvent.TYPE_WIFI_DISABLED:
+ sb.append("WIFI_DISABLED");
+ break;
default:
sb.append("UNKNOWN " + event.type + ":");
break;
diff --git a/tests/wifitests/src/com/android/server/wifi/ClientModeImplTest.java b/tests/wifitests/src/com/android/server/wifi/ClientModeImplTest.java
index bd4aea95b..1dade80db 100644
--- a/tests/wifitests/src/com/android/server/wifi/ClientModeImplTest.java
+++ b/tests/wifitests/src/com/android/server/wifi/ClientModeImplTest.java
@@ -94,6 +94,7 @@ import com.android.internal.util.StateMachine;
import com.android.server.wifi.hotspot2.NetworkDetail;
import com.android.server.wifi.hotspot2.PasspointManager;
import com.android.server.wifi.hotspot2.PasspointProvisioningTestUtil;
+import com.android.server.wifi.nano.WifiMetricsProto;
import com.android.server.wifi.nano.WifiMetricsProto.StaEvent;
import com.android.server.wifi.p2p.WifiP2pServiceImpl;
import com.android.server.wifi.util.WifiPermissionsUtil;
@@ -1828,6 +1829,7 @@ public class ClientModeImplTest {
public void testWifiInfoCleanedUpEnteringExitingConnectModeState() throws Exception {
InOrder inOrder = inOrder(mWifiConnectivityManager);
InOrder inOrderSarMgr = inOrder(mSarManager);
+ InOrder inOrderMetrics = inOrder(mWifiMetrics);
Log.i(TAG, mCmi.getCurrentState().getName());
String initialBSSID = "aa:bb:cc:dd:ee:ff";
WifiInfo wifiInfo = mCmi.getWifiInfo();
@@ -1839,6 +1841,9 @@ public class ClientModeImplTest {
assertEquals(WifiManager.WIFI_STATE_ENABLED, mCmi.syncGetWifiState());
inOrder.verify(mWifiConnectivityManager).setWifiEnabled(eq(true));
inOrderSarMgr.verify(mSarManager).setClientWifiState(WifiManager.WIFI_STATE_ENABLED);
+ inOrderMetrics.verify(mWifiMetrics)
+ .setWifiState(WifiMetricsProto.WifiLog.WIFI_DISCONNECTED);
+ inOrderMetrics.verify(mWifiMetrics).logStaEvent(StaEvent.TYPE_WIFI_ENABLED);
assertNull(wifiInfo.getBSSID());
// Send a SUPPLICANT_STATE_CHANGE_EVENT, verify WifiInfo is updated
@@ -1859,6 +1864,8 @@ public class ClientModeImplTest {
assertEquals(WifiManager.WIFI_STATE_DISABLED, mCmi.syncGetWifiState());
inOrder.verify(mWifiConnectivityManager).setWifiEnabled(eq(false));
inOrderSarMgr.verify(mSarManager).setClientWifiState(WifiManager.WIFI_STATE_DISABLED);
+ inOrderMetrics.verify(mWifiMetrics).setWifiState(WifiMetricsProto.WifiLog.WIFI_DISABLED);
+ inOrderMetrics.verify(mWifiMetrics).logStaEvent(StaEvent.TYPE_WIFI_DISABLED);
assertNull(wifiInfo.getBSSID());
assertEquals(SupplicantState.DISCONNECTED, wifiInfo.getSupplicantState());
@@ -1880,6 +1887,9 @@ public class ClientModeImplTest {
assertEquals(WifiManager.WIFI_STATE_ENABLED, mCmi.syncGetWifiState());
inOrder.verify(mWifiConnectivityManager).setWifiEnabled(eq(true));
inOrderSarMgr.verify(mSarManager).setClientWifiState(WifiManager.WIFI_STATE_ENABLED);
+ inOrderMetrics.verify(mWifiMetrics)
+ .setWifiState(WifiMetricsProto.WifiLog.WIFI_DISCONNECTED);
+ inOrderMetrics.verify(mWifiMetrics).logStaEvent(StaEvent.TYPE_WIFI_ENABLED);
assertEquals("DisconnectedState", getCurrentState().getName());
assertEquals(SupplicantState.DISCONNECTED, wifiInfo.getSupplicantState());
assertNull(wifiInfo.getBSSID());
diff --git a/tests/wifitests/src/com/android/server/wifi/WifiMetricsTest.java b/tests/wifitests/src/com/android/server/wifi/WifiMetricsTest.java
index 256b45354..f566d0286 100644
--- a/tests/wifitests/src/com/android/server/wifi/WifiMetricsTest.java
+++ b/tests/wifitests/src/com/android/server/wifi/WifiMetricsTest.java
@@ -1499,7 +1499,7 @@ public class WifiMetricsTest {
private static final int ASSOC_TIMEOUT = 1;
private static final int LOCAL_GEN = 1;
private static final int AUTH_FAILURE_REASON = WifiManager.ERROR_AUTH_FAILURE_WRONG_PSWD;
- private static final int NUM_TEST_STA_EVENTS = 16;
+ private static final int NUM_TEST_STA_EVENTS = 18;
private static final String sSSID = "\"SomeTestSsid\"";
private static final WifiSsid sWifiSsid = WifiSsid.createFromAsciiEncoded(sSSID);
private static final String sBSSID = "01:02:03:04:05:06";
@@ -1549,7 +1549,9 @@ public class WifiMetricsTest {
{StaEvent.TYPE_NETWORK_AGENT_VALID_NETWORK, 0, 0},
{StaEvent.TYPE_FRAMEWORK_DISCONNECT, StaEvent.DISCONNECT_API, 0},
{StaEvent.TYPE_SCORE_BREACH, 0, 0},
- {StaEvent.TYPE_MAC_CHANGE, 0, 1}
+ {StaEvent.TYPE_MAC_CHANGE, 0, 1},
+ {StaEvent.TYPE_WIFI_ENABLED, 0, 0},
+ {StaEvent.TYPE_WIFI_DISABLED, 0, 0}
};
// Values used to generate the StaEvent log calls from WifiMonitor
// <type>, <reason>, <status>, <local_gen>,
@@ -1586,7 +1588,11 @@ public class WifiMetricsTest {
{StaEvent.TYPE_SCORE_BREACH, -1, -1, 0,
/**/ 0, 0, 0, 0}, /**/
{StaEvent.TYPE_MAC_CHANGE, -1, -1, 0,
- /**/ 0, 0, 0, 1} /**/
+ /**/ 0, 0, 0, 1}, /**/
+ {StaEvent.TYPE_WIFI_ENABLED, -1, -1, 0,
+ /**/ 0, 0, 0, 0}, /**/
+ {StaEvent.TYPE_WIFI_DISABLED, -1, -1, 0,
+ /**/ 0, 0, 0, 0} /**/
};
/**