BluetoothMetrics: Add BluetoothDeviceNameReported for extract manufacturer and model info from dogfooders.

PDD https://eldar.corp.google.com/assessments/150656741/drafts/431483191
MDR https://eldar.corp.google.com/assessments/152668825/drafts/600571512

Bug: 230023257
Change-Id: I692af4988bd0cfbef03cf22fc8a71f33e67332a3
Merged-In: I692af4988bd0cfbef03cf22fc8a71f33e67332a3
diff --git a/stats/atoms.proto b/stats/atoms.proto
index 8b4fbb7..8a83c9f 100644
--- a/stats/atoms.proto
+++ b/stats/atoms.proto
@@ -703,6 +703,7 @@
         ServiceRequestEventReported service_request_event_reported = 476 [(module) = "framework"];
         ProviderAcquisitionEventReported provider_acquisition_event_reported =
                 477 [(module) = "framework"];
+        BluetoothDeviceNameReported bluetooth_device_name_reported = 478 [(module) = "bluetooth"];
         // StatsdStats tracks platform atoms with ids upto 750.
         // Update StatsdStats::kMaxPushedAtomId when atom ids here approach that value.
     }
@@ -3236,6 +3237,29 @@
 }
 
 /**
+* Logs the user created Bluetooth device's name.
+* It is pushed at Bluetooth pairing and connection.
+* The metric will only be collected from dogfooders.
+*
+* Logged from:
+*     packages/modules/Bluetooth
+*/
+message BluetoothDeviceNameReported {
+   // An identifier that can be used to match events for this device.
+   // The incremental identifier is locally generated and guaranteed not derived
+   // from any globally unique hardware id.
+   // For paired devices, it stays consistent between Bluetooth toggling for the
+   // same remote device.
+   // For unpaired devices, it stays consistent within the same Bluetooth adapter
+   // session for the same remote device.
+   // Default: 0 if the device's metric id is unknown.
+   optional int32 metric_id = 1;
+
+   // Name of the Bluetooth device. It is created by the user.
+   optional string device_name = 2;
+}
+
+/**
  * Logs when bond state of a Bluetooth device changes
  *
  * Logged from: