diff options
author | Hai Shalom <haishalom@google.com> | 2020-06-26 21:03:30 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2020-06-26 21:03:30 +0000 |
commit | 761476c97800f4bdac6f92ae6cfc6a0c492703c7 (patch) | |
tree | aa61d76e3ece7f1b0a96531004fa3fcbaaeab775 | |
parent | 2f68c7d3adcba308ee2741c3e35a0acb8d0fac75 (diff) | |
parent | 90723104f67badbfd95ca374fea2b514d3a314f3 (diff) |
Merge "[Passpoint] Add metrics to indicate OSU provisioned profile" into rvc-dev am: 90723104f6
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/opt/net/wifi/+/12000992
Change-Id: I488064ca181f8b8bf0bc8913570443c8f023af16
-rw-r--r-- | service/java/com/android/server/wifi/WifiMetrics.java | 7 | ||||
-rw-r--r-- | service/proto/src/metrics.proto | 3 | ||||
-rw-r--r-- | tests/wifitests/src/com/android/server/wifi/WifiMetricsTest.java | 26 |
3 files changed, 34 insertions, 2 deletions
diff --git a/service/java/com/android/server/wifi/WifiMetrics.java b/service/java/com/android/server/wifi/WifiMetrics.java index 72c52bdd2..a7544e031 100644 --- a/service/java/com/android/server/wifi/WifiMetrics.java +++ b/service/java/com/android/server/wifi/WifiMetrics.java @@ -44,6 +44,7 @@ import android.os.Message; import android.os.RemoteException; import android.os.SystemProperties; import android.telephony.TelephonyManager; +import android.text.TextUtils; import android.util.ArrayMap; import android.util.Base64; import android.util.Log; @@ -1111,6 +1112,7 @@ public class WifiMetrics { } sb.append(", numConsecutiveConnectionFailure=" + mConnectionEvent.numConsecutiveConnectionFailure); + sb.append(", isOsuProvisioned=" + mConnectionEvent.isOsuProvisioned); } return sb.toString(); } @@ -1460,9 +1462,12 @@ public class WifiMetrics { mBssidBlocklistMonitor.getNumBlockedBssidsForSsid(config.SSID); mCurrentConnectionEvent.mConnectionEvent.networkType = WifiMetricsProto.ConnectionEvent.TYPE_UNKNOWN; + mCurrentConnectionEvent.mConnectionEvent.isOsuProvisioned = false; if (config.isPasspoint()) { mCurrentConnectionEvent.mConnectionEvent.networkType = WifiMetricsProto.ConnectionEvent.TYPE_PASSPOINT; + mCurrentConnectionEvent.mConnectionEvent.isOsuProvisioned = + !TextUtils.isEmpty(config.updateIdentifier); } else if (WifiConfigurationUtil.isConfigForSaeNetwork(config)) { mCurrentConnectionEvent.mConnectionEvent.networkType = WifiMetricsProto.ConnectionEvent.TYPE_WPA3; @@ -3097,7 +3102,7 @@ public class WifiMetrics { for (ConnectionEvent event : mConnectionEventList) { String eventLine = event.toString(); if (event == mCurrentConnectionEvent) { - eventLine += "CURRENTLY OPEN EVENT"; + eventLine += " CURRENTLY OPEN EVENT"; } pw.println(eventLine); } diff --git a/service/proto/src/metrics.proto b/service/proto/src/metrics.proto index 481ff0f14..30b1690cc 100644 --- a/service/proto/src/metrics.proto +++ b/service/proto/src/metrics.proto @@ -1109,6 +1109,9 @@ message ConnectionEvent { // middle won't break the streak count. The count is cleared after // a network disconnection event. optional int32 num_consecutive_connection_failure = 19 [default = -1]; + + // Indicates if the profile used for the connection was provisioned by Passpoint OSU server + optional bool is_osu_provisioned = 20; } // Number of occurrences of a specific RSSI poll rssi value diff --git a/tests/wifitests/src/com/android/server/wifi/WifiMetricsTest.java b/tests/wifitests/src/com/android/server/wifi/WifiMetricsTest.java index 198eb079f..4e895e488 100644 --- a/tests/wifitests/src/com/android/server/wifi/WifiMetricsTest.java +++ b/tests/wifitests/src/com/android/server/wifi/WifiMetricsTest.java @@ -1762,10 +1762,11 @@ public class WifiMetricsTest extends WifiBaseTest { assertEquals(1, mDecodedProto.connectionEvent.length); assertEquals(WifiMetricsProto.ConnectionEvent.TYPE_OPEN, mDecodedProto.connectionEvent[0].networkType); + assertFalse(mDecodedProto.connectionEvent[0].isOsuProvisioned); } /** - * Verify the ConnectionEvent is labeled with networkType passpoint correctly. + * Verify the ConnectionEvent is labeled with networkType Passpoint correctly. */ @Test public void testConnectionNetworkTypePasspoint() throws Exception { @@ -1781,6 +1782,7 @@ public class WifiMetricsTest extends WifiBaseTest { assertEquals(1, mDecodedProto.connectionEvent.length); assertEquals(WifiMetricsProto.ConnectionEvent.TYPE_PASSPOINT, mDecodedProto.connectionEvent[0].networkType); + assertFalse(mDecodedProto.connectionEvent[0].isOsuProvisioned); } /** @@ -4995,4 +4997,26 @@ public class WifiMetricsTest extends WifiBaseTest { assertEquals(2, mDecodedProto.carrierWifiMetrics.numConnectionAuthFailure); assertEquals(3, mDecodedProto.carrierWifiMetrics.numConnectionNonAuthFailure); } + + /** + * Verify the ConnectionEvent is labeled with networkType Passpoint correctly and that the OSU + * provisioned flag is set to true. + */ + @Test + public void testConnectionNetworkTypePasspointFromOsu() throws Exception { + WifiConfiguration config = WifiConfigurationTestUtil.createPasspointNetwork(); + config.updateIdentifier = "7"; + mWifiMetrics.startConnectionEvent(config, "RED", + WifiMetricsProto.ConnectionEvent.ROAM_NONE); + mWifiMetrics.endConnectionEvent( + WifiMetrics.ConnectionEvent.FAILURE_ASSOCIATION_TIMED_OUT, + WifiMetricsProto.ConnectionEvent.HLF_NONE, + WifiMetricsProto.ConnectionEvent.FAILURE_REASON_UNKNOWN); + dumpProtoAndDeserialize(); + + assertEquals(1, mDecodedProto.connectionEvent.length); + assertEquals(WifiMetricsProto.ConnectionEvent.TYPE_PASSPOINT, + mDecodedProto.connectionEvent[0].networkType); + assertTrue(mDecodedProto.connectionEvent[0].isOsuProvisioned); + } } |