summaryrefslogtreecommitdiff
path: root/service
diff options
context:
space:
mode:
authorxshu <xshu@google.com>2020-04-16 22:05:28 -0700
committerxshu <xshu@google.com>2020-04-20 14:09:37 -0700
commit98b20b3a66d83c71befac7788a32268d2f2b9114 (patch)
treef108d547e48c9aa60813dace49cdff59fd7c63c5 /service
parent3edbf573530092ed83c7b434650ba61b5b6da26c (diff)
Add UserActionEvent for disconnect
Bug: 153925826 Test: atest com.android.server.wifi Change-Id: I576e67152b0d41621a8d7f13cad239d3ef8694f2
Diffstat (limited to 'service')
-rw-r--r--service/java/com/android/server/wifi/WifiConfigManager.java13
-rw-r--r--service/java/com/android/server/wifi/WifiServiceImpl.java3
2 files changed, 11 insertions, 5 deletions
diff --git a/service/java/com/android/server/wifi/WifiConfigManager.java b/service/java/com/android/server/wifi/WifiConfigManager.java
index 0fb7745f2..209044a65 100644
--- a/service/java/com/android/server/wifi/WifiConfigManager.java
+++ b/service/java/com/android/server/wifi/WifiConfigManager.java
@@ -2689,12 +2689,13 @@ public class WifiConfigManager {
* @param network Input can be SSID or FQDN. And caller must ensure that the SSID passed thru
* this API matched the WifiConfiguration.SSID rules, and thus be surrounded by
* quotes.
+ * uid UID of the calling process.
*/
- public void userTemporarilyDisabledNetwork(String network) {
+ public void userTemporarilyDisabledNetwork(String network, int uid) {
mUserTemporarilyDisabledList.add(network, USER_DISCONNECT_NETWORK_BLOCK_EXPIRY_MS);
- Log.d(TAG, "Temporarily disable network: " + network + " num="
+ Log.d(TAG, "Temporarily disable network: " + network + " uid=" + uid + " num="
+ mUserTemporarilyDisabledList.size());
- removeUserChoiceFromDisabledNetwork(network);
+ removeUserChoiceFromDisabledNetwork(network, uid);
}
/**
@@ -2708,9 +2709,13 @@ public class WifiConfigManager {
}
private void removeUserChoiceFromDisabledNetwork(
- @NonNull String network) {
+ @NonNull String network, int uid) {
for (WifiConfiguration config : getInternalConfiguredNetworks()) {
if (TextUtils.equals(config.SSID, network) || TextUtils.equals(config.FQDN, network)) {
+ if (mWifiPermissionsUtil.checkNetworkSettingsPermission(uid)) {
+ mWifiInjector.getWifiMetrics().logUserActionEvent(
+ UserActionEvent.EVENT_DISCONNECT_WIFI, config.networkId);
+ }
removeConnectChoiceFromAllNetworks(config.getKey());
}
}
diff --git a/service/java/com/android/server/wifi/WifiServiceImpl.java b/service/java/com/android/server/wifi/WifiServiceImpl.java
index 00315560b..729e1303c 100644
--- a/service/java/com/android/server/wifi/WifiServiceImpl.java
+++ b/service/java/com/android/server/wifi/WifiServiceImpl.java
@@ -3060,7 +3060,8 @@ public class WifiServiceImpl extends BaseWifiService {
return;
}
mLog.info("disableEphemeralNetwork uid=%").c(Binder.getCallingUid()).flush();
- mWifiThreadRunner.post(() -> mWifiConfigManager.userTemporarilyDisabledNetwork(network));
+ mWifiThreadRunner.post(() -> mWifiConfigManager.userTemporarilyDisabledNetwork(network,
+ Binder.getCallingUid()));
}
private final BroadcastReceiver mReceiver = new BroadcastReceiver() {