diff options
author | xshu <xshu@google.com> | 2020-04-16 20:35:17 -0700 |
---|---|---|
committer | xshu <xshu@google.com> | 2020-04-17 17:24:34 -0700 |
commit | 3edbf573530092ed83c7b434650ba61b5b6da26c (patch) | |
tree | 3c846c082a5fc9624bda830c3e0eccaf196abdbc | |
parent | 11dc2de24b4c1ff4d350491825d3c36e32c988f4 (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.java | 11 | ||||
-rw-r--r-- | tests/wifitests/src/com/android/server/wifi/WifiServiceImplTest.java | 2 |
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()); } /** |