summaryrefslogtreecommitdiffstats
path: root/service/java/com/android/server/wifi/WifiNetworkFactory.java
diff options
context:
space:
mode:
authorRoshan Pius <rpius@google.com>2019-03-01 10:33:38 -0800
committerRoshan Pius <rpius@google.com>2019-03-06 10:11:24 -0800
commit308adb4a09f544bdc8260031286e400338ce892b (patch)
tree2cea668da2b750de905e567d57aacb1e31f0ec22 /service/java/com/android/server/wifi/WifiNetworkFactory.java
parent1e06b4a69e237bb570fc925c60227de60598d4f3 (diff)
downloadandroid_frameworks_opt_net_wifi-308adb4a09f544bdc8260031286e400338ce892b.tar.gz
android_frameworks_opt_net_wifi-308adb4a09f544bdc8260031286e400338ce892b.tar.bz2
android_frameworks_opt_net_wifi-308adb4a09f544bdc8260031286e400338ce892b.zip
WifiMetrics: Report metrics for new API surfaces
Changes to report metrics for the new API surface usage. Also, a) Added a new maxSize field in WifiNetworkSuggestionsManager to track the maximum size of suggestion list ever for that app. b) Record the nominator names in existing connection event metrics. Bug: 123362619 Bug: 123362779 Test: adb shell dumpsys wifi wifiMetricsProto Test: ./frameworks/opt/net/wifi/tests/wifitests/runtests.sh Change-Id: I801ce489941259be9185e3dbc1133ff04bae5c71
Diffstat (limited to 'service/java/com/android/server/wifi/WifiNetworkFactory.java')
-rw-r--r--service/java/com/android/server/wifi/WifiNetworkFactory.java17
1 files changed, 16 insertions, 1 deletions
diff --git a/service/java/com/android/server/wifi/WifiNetworkFactory.java b/service/java/com/android/server/wifi/WifiNetworkFactory.java
index cb5bec8a6..057fc99ac 100644
--- a/service/java/com/android/server/wifi/WifiNetworkFactory.java
+++ b/service/java/com/android/server/wifi/WifiNetworkFactory.java
@@ -104,6 +104,7 @@ public class WifiNetworkFactory extends NetworkFactory {
private final WifiConfigManager mWifiConfigManager;
private final WifiConfigStore mWifiConfigStore;
private final WifiPermissionsUtil mWifiPermissionsUtil;
+ private final WifiMetrics mWifiMetrics;
private final WifiScanner.ScanSettings mScanSettings;
private final NetworkFactoryScanListener mScanListener;
private final PeriodicScanAlarmListener mPeriodicScanTimerListener;
@@ -220,6 +221,12 @@ public class WifiNetworkFactory extends NetworkFactory {
}
List<ScanResult> matchedScanResults =
getNetworksMatchingActiveNetworkRequest(scanResults);
+ if (mActiveMatchedScanResults == null) {
+ // only note the first match size in metrics (chances of this changing in further
+ // scans is pretty low)
+ mWifiMetrics.incrementNetworkRequestApiMatchSizeHistogram(
+ matchedScanResults.size());
+ }
mActiveMatchedScanResults = matchedScanResults;
ScanResult approvedScanResult = null;
@@ -234,6 +241,7 @@ public class WifiNetworkFactory extends NetworkFactory {
+ "Triggering connect " + approvedScanResult);
handleConnectToNetworkUserSelectionInternal(
ScanResultUtil.createNetworkFromScanResult(approvedScanResult));
+ mWifiMetrics.incrementNetworkRequestApiNumUserApprovalBypass();
// TODO (b/122658039): Post notification.
} else {
if (mVerboseLoggingEnabled) {
@@ -357,7 +365,8 @@ public class WifiNetworkFactory extends NetworkFactory {
WifiConnectivityManager connectivityManager,
WifiConfigManager configManager,
WifiConfigStore configStore,
- WifiPermissionsUtil wifiPermissionsUtil) {
+ WifiPermissionsUtil wifiPermissionsUtil,
+ WifiMetrics wifiMetrics) {
super(looper, context, TAG, nc);
mContext = context;
mActivityManager = activityManager;
@@ -370,6 +379,7 @@ public class WifiNetworkFactory extends NetworkFactory {
mWifiConfigManager = configManager;
mWifiConfigStore = configStore;
mWifiPermissionsUtil = wifiPermissionsUtil;
+ mWifiMetrics = wifiMetrics;
// Create the scan settings.
mScanSettings = new WifiScanner.ScanSettings();
mScanSettings.type = WifiScanner.TYPE_HIGH_ACCURACY;
@@ -573,6 +583,7 @@ public class WifiNetworkFactory extends NetworkFactory {
mActiveSpecificNetworkRequestSpecifier = new WifiNetworkSpecifier(
wns.ssidPatternMatcher, wns.bssidPatternMatcher, wns.wifiConfiguration,
wns.requestorUid, wns.requestorPackageName);
+ mWifiMetrics.incrementNetworkRequestApiNumRequest();
// Start UI to let the user grant/disallow this request from the app.
startUi();
@@ -752,6 +763,7 @@ public class WifiNetworkFactory extends NetworkFactory {
private void handleRejectUserSelection() {
Log.w(TAG, "User dismissed notification, cancelling " + mActiveSpecificNetworkRequest);
teardownForActiveRequest();
+ mWifiMetrics.incrementNetworkRequestApiNumUserReject();
}
private boolean isUserSelectedNetwork(WifiConfiguration config) {
@@ -797,6 +809,7 @@ public class WifiNetworkFactory extends NetworkFactory {
}
// transition the request from "active" to "connected".
setupForConnectedRequest();
+ mWifiMetrics.incrementNetworkRequestApiNumConnectSuccess();
}
/**
@@ -1183,6 +1196,8 @@ public class WifiNetworkFactory extends NetworkFactory {
if (approvedAccessPoints == null) {
approvedAccessPoints = new HashSet<>();
mUserApprovedAccessPointMap.put(requestorPackageName, approvedAccessPoints);
+ // Note the new app in metrics.
+ mWifiMetrics.incrementNetworkRequestApiNumApps();
}
if (mVerboseLoggingEnabled) {
Log.v(TAG, "Adding " + newUserApprovedAccessPoints