Loading system/service/client/main.cpp +15 −0 Original line number Diff line number Diff line Loading @@ -175,6 +175,21 @@ class CLIBluetoothLowEnergyCallback PrintPrompt(); } void OnMtuChanged(int status, const char *address, int mtu) override { if (showing_prompt.load()) cout << endl; cout << COLOR_BOLDWHITE "MTU changed: " << COLOR_BOLDYELLOW "[" << address << " ] " << COLOR_BOLDWHITE " - status: " << status << COLOR_BOLDWHITE " - mtu: " << mtu << COLOR_OFF; cout << endl << endl; if (showing_prompt.load()) PrintPrompt(); } void OnScanResult(const bluetooth::ScanResult& scan_result) override { if (showing_prompt.load()) cout << endl; Loading system/service/common/bluetooth/binder/IBluetoothLowEnergy.cpp +22 −0 Original line number Diff line number Diff line Loading @@ -84,6 +84,16 @@ status_t BnBluetoothLowEnergy::onTransact( return android::NO_ERROR; } case SET_MTU_TRANSACTION: { int client_id = data.readInt32(); const char* address = data.readCString(); int mtu = data.readInt32(); bool result = SetMtu(client_id, address, mtu); reply->writeInt32(result); return android::NO_ERROR; } case START_SCAN_TRANSACTION: { int client_id = data.readInt32(); auto settings = CreateScanSettingsFromParcel(data); Loading Loading @@ -209,6 +219,18 @@ bool BpBluetoothLowEnergy::Disconnect(int client_id, const char* address) { return reply.readInt32(); } bool BpBluetoothLowEnergy::SetMtu(int client_id, const char* address, int mtu) { Parcel data, reply; data.writeInterfaceToken(IBluetoothLowEnergy::getInterfaceDescriptor()); data.writeInt32(client_id); data.writeCString(address); data.writeInt32(mtu); remote()->transact(IBluetoothLowEnergy::SET_MTU_TRANSACTION, data, &reply); return reply.readInt32(); } bool BpBluetoothLowEnergy::StartScan( int client_id, const bluetooth::ScanSettings& settings, Loading system/service/common/bluetooth/binder/IBluetoothLowEnergy.h +5 −0 Original line number Diff line number Diff line Loading @@ -59,6 +59,7 @@ class IBluetoothLowEnergy : public android::IInterface { CONNECT_TRANSACTION, DISCONNECT_TRANSACTION, SET_MTU_TRANSACTION, READ_REMOTE_RSSI_TRANSACTION, CONFIGURE_ATT_MTU_TRANSACTION, CONNECTION_PARAMETER_UPDATE_TRANSACTION, Loading @@ -75,6 +76,8 @@ class IBluetoothLowEnergy : public android::IInterface { virtual bool Connect(int client_id, const char* address, bool is_direct) = 0; virtual bool Disconnect(int client_id, const char* address) = 0; virtual bool SetMtu(int client_id, const char* address, int mtu) = 0; virtual bool StartScan( int client_id, const bluetooth::ScanSettings& settings, Loading Loading @@ -126,6 +129,8 @@ class BpBluetoothLowEnergy : public android::BpInterface<IBluetoothLowEnergy> { bool Connect(int client_id, const char* address, bool is_direct) override; bool Disconnect(int client_id, const char* address) override; bool SetMtu(int client_id, const char* address, int mtu) override; bool StartScan( int client_id, const bluetooth::ScanSettings& settings, Loading system/service/common/bluetooth/binder/IBluetoothLowEnergyCallback.cpp +24 −0 Original line number Diff line number Diff line Loading @@ -64,6 +64,14 @@ status_t BnBluetoothLowEnergyCallback::onTransact( OnConnectionState(status, client_id, address, connected); return android::NO_ERROR; } case ON_MTU_CHANGED_TRANSACTION: { int status = data.readInt32(); const char *address = data.readCString(); int mtu = data.readInt32(); OnMtuChanged(status, address, mtu); return android::NO_ERROR; } case ON_SCAN_RESULT_TRANSACTION: { auto scan_result = CreateScanResultFromParcel(data); CHECK(scan_result.get()); Loading Loading @@ -124,6 +132,22 @@ void BpBluetoothLowEnergyCallback::OnConnectionState( IBinder::FLAG_ONEWAY); } void BpBluetoothLowEnergyCallback::OnMtuChanged( int status, const char* address, int mtu) { Parcel data; data.writeInterfaceToken( IBluetoothLowEnergyCallback::getInterfaceDescriptor()); data.writeInt32(status); data.writeCString(address); data.writeInt32(mtu); remote()->transact( IBluetoothLowEnergyCallback::ON_MTU_CHANGED_TRANSACTION, data, NULL, IBinder::FLAG_ONEWAY); } void BpBluetoothLowEnergyCallback::OnScanResult( const bluetooth::ScanResult& scan_result) { Parcel data, reply; Loading system/service/common/bluetooth/binder/IBluetoothLowEnergyCallback.h +3 −0 Original line number Diff line number Diff line Loading @@ -44,6 +44,7 @@ namespace binder { enum { ON_CLIENT_REGISTERED_TRANSACTION = android::IBinder::FIRST_CALL_TRANSACTION, ON_CONNECTION_STATE_TRANSACTION, ON_MTU_CHANGED_TRANSACTION, ON_SCAN_RESULT_TRANSACTION, ON_BATCH_SCAN_RESULTS_TRANSACTION, ON_READ_REMOTE_RSSI_TRANSACTION, Loading @@ -57,6 +58,7 @@ namespace binder { virtual void OnClientRegistered(int status, int client_if) = 0; virtual void OnConnectionState(int status, int client_id, const char* address, bool connected) = 0; virtual void OnMtuChanged(int status, const char* address, int mtu) = 0; virtual void OnScanResult(const bluetooth::ScanResult& scan_result) = 0; virtual void OnMultiAdvertiseCallback( int status, bool is_start, Loading Loading @@ -97,6 +99,7 @@ class BpBluetoothLowEnergyCallback void OnClientRegistered(int status, int client_if) override; void OnConnectionState(int status, int client_id, const char* address, bool connected) override; void OnMtuChanged(int status, const char* address, int mtu) override; void OnScanResult(const bluetooth::ScanResult& scan_result) override; void OnMultiAdvertiseCallback( int status, bool is_start, Loading Loading
system/service/client/main.cpp +15 −0 Original line number Diff line number Diff line Loading @@ -175,6 +175,21 @@ class CLIBluetoothLowEnergyCallback PrintPrompt(); } void OnMtuChanged(int status, const char *address, int mtu) override { if (showing_prompt.load()) cout << endl; cout << COLOR_BOLDWHITE "MTU changed: " << COLOR_BOLDYELLOW "[" << address << " ] " << COLOR_BOLDWHITE " - status: " << status << COLOR_BOLDWHITE " - mtu: " << mtu << COLOR_OFF; cout << endl << endl; if (showing_prompt.load()) PrintPrompt(); } void OnScanResult(const bluetooth::ScanResult& scan_result) override { if (showing_prompt.load()) cout << endl; Loading
system/service/common/bluetooth/binder/IBluetoothLowEnergy.cpp +22 −0 Original line number Diff line number Diff line Loading @@ -84,6 +84,16 @@ status_t BnBluetoothLowEnergy::onTransact( return android::NO_ERROR; } case SET_MTU_TRANSACTION: { int client_id = data.readInt32(); const char* address = data.readCString(); int mtu = data.readInt32(); bool result = SetMtu(client_id, address, mtu); reply->writeInt32(result); return android::NO_ERROR; } case START_SCAN_TRANSACTION: { int client_id = data.readInt32(); auto settings = CreateScanSettingsFromParcel(data); Loading Loading @@ -209,6 +219,18 @@ bool BpBluetoothLowEnergy::Disconnect(int client_id, const char* address) { return reply.readInt32(); } bool BpBluetoothLowEnergy::SetMtu(int client_id, const char* address, int mtu) { Parcel data, reply; data.writeInterfaceToken(IBluetoothLowEnergy::getInterfaceDescriptor()); data.writeInt32(client_id); data.writeCString(address); data.writeInt32(mtu); remote()->transact(IBluetoothLowEnergy::SET_MTU_TRANSACTION, data, &reply); return reply.readInt32(); } bool BpBluetoothLowEnergy::StartScan( int client_id, const bluetooth::ScanSettings& settings, Loading
system/service/common/bluetooth/binder/IBluetoothLowEnergy.h +5 −0 Original line number Diff line number Diff line Loading @@ -59,6 +59,7 @@ class IBluetoothLowEnergy : public android::IInterface { CONNECT_TRANSACTION, DISCONNECT_TRANSACTION, SET_MTU_TRANSACTION, READ_REMOTE_RSSI_TRANSACTION, CONFIGURE_ATT_MTU_TRANSACTION, CONNECTION_PARAMETER_UPDATE_TRANSACTION, Loading @@ -75,6 +76,8 @@ class IBluetoothLowEnergy : public android::IInterface { virtual bool Connect(int client_id, const char* address, bool is_direct) = 0; virtual bool Disconnect(int client_id, const char* address) = 0; virtual bool SetMtu(int client_id, const char* address, int mtu) = 0; virtual bool StartScan( int client_id, const bluetooth::ScanSettings& settings, Loading Loading @@ -126,6 +129,8 @@ class BpBluetoothLowEnergy : public android::BpInterface<IBluetoothLowEnergy> { bool Connect(int client_id, const char* address, bool is_direct) override; bool Disconnect(int client_id, const char* address) override; bool SetMtu(int client_id, const char* address, int mtu) override; bool StartScan( int client_id, const bluetooth::ScanSettings& settings, Loading
system/service/common/bluetooth/binder/IBluetoothLowEnergyCallback.cpp +24 −0 Original line number Diff line number Diff line Loading @@ -64,6 +64,14 @@ status_t BnBluetoothLowEnergyCallback::onTransact( OnConnectionState(status, client_id, address, connected); return android::NO_ERROR; } case ON_MTU_CHANGED_TRANSACTION: { int status = data.readInt32(); const char *address = data.readCString(); int mtu = data.readInt32(); OnMtuChanged(status, address, mtu); return android::NO_ERROR; } case ON_SCAN_RESULT_TRANSACTION: { auto scan_result = CreateScanResultFromParcel(data); CHECK(scan_result.get()); Loading Loading @@ -124,6 +132,22 @@ void BpBluetoothLowEnergyCallback::OnConnectionState( IBinder::FLAG_ONEWAY); } void BpBluetoothLowEnergyCallback::OnMtuChanged( int status, const char* address, int mtu) { Parcel data; data.writeInterfaceToken( IBluetoothLowEnergyCallback::getInterfaceDescriptor()); data.writeInt32(status); data.writeCString(address); data.writeInt32(mtu); remote()->transact( IBluetoothLowEnergyCallback::ON_MTU_CHANGED_TRANSACTION, data, NULL, IBinder::FLAG_ONEWAY); } void BpBluetoothLowEnergyCallback::OnScanResult( const bluetooth::ScanResult& scan_result) { Parcel data, reply; Loading
system/service/common/bluetooth/binder/IBluetoothLowEnergyCallback.h +3 −0 Original line number Diff line number Diff line Loading @@ -44,6 +44,7 @@ namespace binder { enum { ON_CLIENT_REGISTERED_TRANSACTION = android::IBinder::FIRST_CALL_TRANSACTION, ON_CONNECTION_STATE_TRANSACTION, ON_MTU_CHANGED_TRANSACTION, ON_SCAN_RESULT_TRANSACTION, ON_BATCH_SCAN_RESULTS_TRANSACTION, ON_READ_REMOTE_RSSI_TRANSACTION, Loading @@ -57,6 +58,7 @@ namespace binder { virtual void OnClientRegistered(int status, int client_if) = 0; virtual void OnConnectionState(int status, int client_id, const char* address, bool connected) = 0; virtual void OnMtuChanged(int status, const char* address, int mtu) = 0; virtual void OnScanResult(const bluetooth::ScanResult& scan_result) = 0; virtual void OnMultiAdvertiseCallback( int status, bool is_start, Loading Loading @@ -97,6 +99,7 @@ class BpBluetoothLowEnergyCallback void OnClientRegistered(int status, int client_if) override; void OnConnectionState(int status, int client_id, const char* address, bool connected) override; void OnMtuChanged(int status, const char* address, int mtu) override; void OnScanResult(const bluetooth::ScanResult& scan_result) override; void OnMultiAdvertiseCallback( int status, bool is_start, Loading