Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9c30c7c6 authored by Jack He's avatar Jack He
Browse files

Atom: Add BluetoothSocketConnectionStateChanged

* Logs when a Bluetooth socket's connection state is changed
* A Bluetooth socket can be:
  - RFCOMM socket
  - SCO socket
  - BR/EDR L2CAP socket
  - BLE L2CAP socket

Bug: 112969790
Test: make, test drive with statsd
Change-Id: I97b1e650e197a0dad1e2959e2f5b4dd98370d892
Merged-In: I97b1e650e197a0dad1e2959e2f5b4dd98370d892
(cherry picked from commit 815cdbaa)
parent 1fe97065
Loading
Loading
Loading
Loading
+31 −0
Original line number Diff line number Diff line
@@ -161,6 +161,7 @@ message Atom {
        BluetoothBondStateChanged bluetooth_bond_state_changed = 165;
        BluetoothClassicPairingEventReported bluetooth_classic_pairing_event_reported = 166;
        BluetoothSmpPairingEventReported bluetooth_smp_pairing_event_reported = 167;
        BluetoothSocketConnectionStateChanged bluetooth_socket_connection_state_changed = 171;
    }

    // Pulled events will start at field 10000.
@@ -1718,6 +1719,36 @@ message BluetoothSmpPairingEventReported {
    optional android.bluetooth.smp.PairingFailReasonEnum smp_fail_reason = 4;
}

/**
 * Logs when a Bluetooth socket’s connection state changed
 *
 * Logged from:
 *   system/bt
 */
message BluetoothSocketConnectionStateChanged {
    // An identifier that can be used to match events for this device.
    // Currently, this is a salted hash of the MAC address of this Bluetooth device.
    // Salt: Randomly generated 256 bit value
    // Hash algorithm: HMAC-SHA256
    // Size: 32 byte
    // Default: null or empty if the device identifier is not known
    optional bytes obfuscated_id = 1 [(android.os.statsd.log_mode) = MODE_BYTES];
    // Port of this socket
    // Default 0 when unknown or don't care
    optional int32 port = 2;
    // Socket type as mentioned in
    // frameworks/base/core/java/android/bluetooth/BluetoothSocket.java
    // Default: SOCKET_TYPE_UNKNOWN
    optional android.bluetooth.SocketTypeEnum type = 3;
    // Socket connection state
    // Default: SOCKET_CONNECTION_STATE_UNKNOWN
    optional android.bluetooth.SocketConnectionstateEnum state = 4;
    // Number of bytes sent to remote device during this connection
    optional int64 tx_bytes = 5;
    // Number of bytes received from remote device during this connection
    optional int64 rx_bytes = 6;
}

/**
 * Logs when something is plugged into or removed from the USB-C connector.
 *
+22 −0
Original line number Diff line number Diff line
@@ -110,3 +110,25 @@ enum UnbondReasonEnum {
    UNBOND_REASON_REMOTE_AUTH_CANCELED = 8;
    UNBOND_REASON_REMOVED = 9;
}

enum SocketTypeEnum {
    SOCKET_TYPE_UNKNOWN = 0;
    SOCKET_TYPE_RFCOMM = 1;
    SOCKET_TYPE_SCO = 2;
    SOCKET_TYPE_L2CAP_BREDR = 3;
    SOCKET_TYPE_L2CAP_LE = 4;
}

enum SocketConnectionstateEnum {
    SOCKET_CONNECTION_STATE_UNKNOWN = 0;
    // Socket acts as a server waiting for connection
    SOCKET_CONNECTION_STATE_LISTENING = 1;
    // Socket acts as a client trying to connect
    SOCKET_CONNECTION_STATE_CONNECTING = 2;
    // Socket is connected
    SOCKET_CONNECTION_STATE_CONNECTED = 3;
    // Socket tries to disconnect from remote
    SOCKET_CONNECTION_STATE_DISCONNECTING = 4;
    // This socket is closed
    SOCKET_CONNECTION_STATE_DISCONNECTED = 5;
}