WPS Metrics Added to wifi.proto

Add wpw metrics fields to wifi.proto to track wps usage

Bug: 68652564
Test: Unit test and verifying dumpsys
Change-Id: I224adf7e522af9609569f703f1ccc31b1444d6e4
diff --git a/proto/src/wifi.proto b/proto/src/wifi.proto
index 8f58a38..f5349df 100644
--- a/proto/src/wifi.proto
+++ b/proto/src/wifi.proto
@@ -370,6 +370,9 @@
 
   // SoftAP event list tracking sessions and client counts in local only mode
   repeated SoftApConnectedClientsEvent soft_ap_connected_clients_events_local_only = 90;
+
+  // Wps connection metrics
+  optional WpsMetrics wps_metrics = 91;
 }
 
 // Information that gets logged for every WiFi connection.
@@ -1102,4 +1105,32 @@
 
   // Number of connected clients if event_type is NUM_CLIENTS_CHANGED, otherwise zero.
   optional int32 num_connected_clients = 3;
-}
\ No newline at end of file
+}
+
+// Wps connection metrics
+// Keeps track of Wi-Fi Protected Setup usage
+message WpsMetrics {
+  // Total number of wps connection attempts
+  optional int32 num_wps_attempts = 1;
+
+  // Total number of wps connection successes
+  optional int32 num_wps_success = 2;
+
+  // Total number of wps failures on start
+  optional int32 num_wps_start_failure = 3;
+
+  // Total number of wps overlap failure
+  optional int32 num_wps_overlap_failure = 4;
+
+  // Total number of wps timeout failure
+  optional int32 num_wps_timeout_failure = 5;
+
+  // Total number of other wps failure during connection
+  optional int32 num_wps_other_connection_failure = 6;
+
+  // Total number of supplicant failure after wps
+  optional int32 num_wps_supplicant_failure = 7;
+
+  // Total number of wps cancellation
+  optional int32 num_wps_cancellation = 8;
+}