Metrics: Add classic pairing metrics

* Log HCI commands and events related to classic pairing
* Move all metrics logging for sending HCI command into a single
  function
* Move all metrics logging for HCI command status into a single function
* Move all metrics logging for HCI Command complete into a single
  function
* Move all metrics logging for HCI events into a single function
* Make sure we log all instances of HCI command sending methods,
  including those with desinated callbacks

Bug: 112969790
Test: make, testdrive with statsd
Change-Id: I4b1ca4ee814096d84bcd93c8d7206b0a771a3210
diff --git a/system/common/metrics.h b/system/common/metrics.h
index d035dbe..4a42b6e 100644
--- a/system/common/metrics.h
+++ b/system/common/metrics.h
@@ -410,6 +410,21 @@
 void LogSmpPairingEvent(const RawAddress& address, uint8_t smp_cmd,
                         android::bluetooth::DirectionEnum direction,
                         uint8_t smp_fail_reason);
+
+/**
+ * Logs there is an event related Bluetooth classic pairing
+ *
+ * @param address address of associated device
+ * @param handle connection handle of this event,
+ *               {@link kUnknownConnectionHandle} if unknown
+ * @param hci_cmd HCI command associated with this event
+ * @param hci_event HCI event associated with this event
+ * @param cmd_status Command status associated with this event
+ * @param reason_code Reason code associated with this event
+ */
+void LogClassicPairingEvent(const RawAddress& address, uint16_t handle,
+                            uint32_t hci_cmd, uint16_t hci_event,
+                            uint16_t cmd_status, uint16_t reason_code);
 }  // namespace common
 
 }  // namespace bluetooth