summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorxshu <xshu@google.com>2020-04-16 20:35:17 -0700
committerxshu <xshu@google.com>2020-04-17 17:24:34 -0700
commit3edbf573530092ed83c7b434650ba61b5b6da26c (patch)
tree3c846c082a5fc9624bda830c3e0eccaf196abdbc
parent11dc2de24b4c1ff4d350491825d3c36e32c988f4 (diff)
Add UserActionEvent for connect
tracks when a user manually connects to a network. Bug: 153925826 Test: com.android.server.wifi Change-Id: I01265159c2903689a3e005be0087cd00d790ba48
-rw-r--r--service/java/com/android/server/wifi/WifiServiceImpl.java11
-rw-r--r--tests/wifitests/src/com/android/server/wifi/WifiServiceImplTest.java2
2 files changed, 9 insertions, 4 deletions
diff --git a/service/java/com/android/server/wifi/WifiServiceImpl.java b/service/java/com/android/server/wifi/WifiServiceImpl.java
index e71719e8a..00315560b 100644
--- a/service/java/com/android/server/wifi/WifiServiceImpl.java
+++ b/service/java/com/android/server/wifi/WifiServiceImpl.java
@@ -4071,12 +4071,15 @@ public class WifiServiceImpl extends BaseWifiService {
@Override
public void connect(WifiConfiguration config, int netId, IBinder binder,
@Nullable IActionListener callback, int callbackIdentifier) {
- if (!isPrivileged(Binder.getCallingPid(), Binder.getCallingUid())) {
+ int uid = Binder.getCallingUid();
+ if (!isPrivileged(Binder.getCallingPid(), uid)) {
throw new SecurityException(TAG + ": Permission denied");
}
- mLog.info("connect uid=%").c(Binder.getCallingUid()).flush();
- mClientModeImpl.connect(
- config, netId, binder, callback, callbackIdentifier, Binder.getCallingUid());
+ mLog.info("connect uid=%").c(uid).flush();
+ mClientModeImpl.connect(config, netId, binder, callback, callbackIdentifier, uid);
+ if (mWifiPermissionsUtil.checkNetworkSettingsPermission(uid)) {
+ mWifiMetrics.logUserActionEvent(UserActionEvent.EVENT_MANUAL_CONNECT, netId);
+ }
}
/**
diff --git a/tests/wifitests/src/com/android/server/wifi/WifiServiceImplTest.java b/tests/wifitests/src/com/android/server/wifi/WifiServiceImplTest.java
index 18a0bbc0e..184e97090 100644
--- a/tests/wifitests/src/com/android/server/wifi/WifiServiceImplTest.java
+++ b/tests/wifitests/src/com/android/server/wifi/WifiServiceImplTest.java
@@ -3538,11 +3538,13 @@ public class WifiServiceImplTest extends WifiBaseTest {
public void testConnectNetworkWithPrivilegedPermission() throws Exception {
when(mContext.checkPermission(eq(android.Manifest.permission.NETWORK_SETTINGS),
anyInt(), anyInt())).thenReturn(PackageManager.PERMISSION_GRANTED);
+ when(mWifiPermissionsUtil.checkNetworkSettingsPermission(anyInt())).thenReturn(true);
mWifiServiceImpl.connect(mock(WifiConfiguration.class), TEST_NETWORK_ID,
mock(Binder.class),
mock(IActionListener.class), 0);
verify(mClientModeImpl).connect(any(WifiConfiguration.class), anyInt(),
any(Binder.class), any(IActionListener.class), anyInt(), anyInt());
+ verify(mWifiMetrics).logUserActionEvent(eq(UserActionEvent.EVENT_MANUAL_CONNECT), anyInt());
}
/**