Merge "BluetoothGattCallbackExt removal"

This commit is contained in:
Jakub Pawlowski
2017-03-22 20:09:37 +00:00
committed by Gerrit Code Review
10 changed files with 343 additions and 489 deletions

View File

@ -7077,9 +7077,7 @@ package android.bluetooth {
public final class BluetoothDevice implements android.os.Parcelable { public final class BluetoothDevice implements android.os.Parcelable {
method public android.bluetooth.BluetoothGatt connectGatt(android.content.Context, boolean, android.bluetooth.BluetoothGattCallback); method public android.bluetooth.BluetoothGatt connectGatt(android.content.Context, boolean, android.bluetooth.BluetoothGattCallback);
method public android.bluetooth.BluetoothGatt connectGatt(android.content.Context, boolean, android.bluetooth.BluetoothGattCallback, int); method public android.bluetooth.BluetoothGatt connectGatt(android.content.Context, boolean, android.bluetooth.BluetoothGattCallback, int);
method public android.bluetooth.BluetoothGatt connectGatt(android.content.Context, boolean, android.bluetooth.BluetoothGattCallbackExt); method public android.bluetooth.BluetoothGatt connectGatt(android.content.Context, boolean, android.bluetooth.BluetoothGattCallback, int, int);
method public android.bluetooth.BluetoothGatt connectGatt(android.content.Context, boolean, android.bluetooth.BluetoothGattCallbackExt, int);
method public android.bluetooth.BluetoothGatt connectGatt(android.content.Context, boolean, android.bluetooth.BluetoothGattCallbackExt, int, int);
method public boolean createBond(); method public boolean createBond();
method public android.bluetooth.BluetoothSocket createInsecureRfcommSocketToServiceRecord(java.util.UUID) throws java.io.IOException; method public android.bluetooth.BluetoothSocket createInsecureRfcommSocketToServiceRecord(java.util.UUID) throws java.io.IOException;
method public android.bluetooth.BluetoothSocket createRfcommSocketToServiceRecord(java.util.UUID) throws java.io.IOException; method public android.bluetooth.BluetoothSocket createRfcommSocketToServiceRecord(java.util.UUID) throws java.io.IOException;
@ -7175,12 +7173,8 @@ package android.bluetooth {
field public static final int GATT_WRITE_NOT_PERMITTED = 3; // 0x3 field public static final int GATT_WRITE_NOT_PERMITTED = 3; // 0x3
} }
public abstract deprecated class BluetoothGattCallback extends android.bluetooth.BluetoothGattCallbackExt { public abstract class BluetoothGattCallback {
ctor public BluetoothGattCallback(); ctor public BluetoothGattCallback();
}
public abstract class BluetoothGattCallbackExt {
ctor public BluetoothGattCallbackExt();
method public void onCharacteristicChanged(android.bluetooth.BluetoothGatt, android.bluetooth.BluetoothGattCharacteristic); method public void onCharacteristicChanged(android.bluetooth.BluetoothGatt, android.bluetooth.BluetoothGattCharacteristic);
method public void onCharacteristicRead(android.bluetooth.BluetoothGatt, android.bluetooth.BluetoothGattCharacteristic, int); method public void onCharacteristicRead(android.bluetooth.BluetoothGatt, android.bluetooth.BluetoothGattCharacteristic, int);
method public void onCharacteristicWrite(android.bluetooth.BluetoothGatt, android.bluetooth.BluetoothGattCharacteristic, int); method public void onCharacteristicWrite(android.bluetooth.BluetoothGatt, android.bluetooth.BluetoothGattCharacteristic, int);
@ -7289,12 +7283,8 @@ package android.bluetooth {
method public void setPreferredPhy(android.bluetooth.BluetoothDevice, int, int, int); method public void setPreferredPhy(android.bluetooth.BluetoothDevice, int, int, int);
} }
public abstract deprecated class BluetoothGattServerCallback extends android.bluetooth.BluetoothGattServerCallbackExt { public abstract class BluetoothGattServerCallback {
ctor public BluetoothGattServerCallback(); ctor public BluetoothGattServerCallback();
}
public abstract class BluetoothGattServerCallbackExt {
ctor public BluetoothGattServerCallbackExt();
method public void onCharacteristicReadRequest(android.bluetooth.BluetoothDevice, int, int, android.bluetooth.BluetoothGattCharacteristic); method public void onCharacteristicReadRequest(android.bluetooth.BluetoothDevice, int, int, android.bluetooth.BluetoothGattCharacteristic);
method public void onCharacteristicWriteRequest(android.bluetooth.BluetoothDevice, int, android.bluetooth.BluetoothGattCharacteristic, boolean, boolean, int, byte[]); method public void onCharacteristicWriteRequest(android.bluetooth.BluetoothDevice, int, android.bluetooth.BluetoothGattCharacteristic, boolean, boolean, int, byte[]);
method public void onConnectionStateChange(android.bluetooth.BluetoothDevice, int, int); method public void onConnectionStateChange(android.bluetooth.BluetoothDevice, int, int);

View File

@ -7379,9 +7379,7 @@ package android.bluetooth {
public final class BluetoothDevice implements android.os.Parcelable { public final class BluetoothDevice implements android.os.Parcelable {
method public android.bluetooth.BluetoothGatt connectGatt(android.content.Context, boolean, android.bluetooth.BluetoothGattCallback); method public android.bluetooth.BluetoothGatt connectGatt(android.content.Context, boolean, android.bluetooth.BluetoothGattCallback);
method public android.bluetooth.BluetoothGatt connectGatt(android.content.Context, boolean, android.bluetooth.BluetoothGattCallback, int); method public android.bluetooth.BluetoothGatt connectGatt(android.content.Context, boolean, android.bluetooth.BluetoothGattCallback, int);
method public android.bluetooth.BluetoothGatt connectGatt(android.content.Context, boolean, android.bluetooth.BluetoothGattCallbackExt); method public android.bluetooth.BluetoothGatt connectGatt(android.content.Context, boolean, android.bluetooth.BluetoothGattCallback, int, int);
method public android.bluetooth.BluetoothGatt connectGatt(android.content.Context, boolean, android.bluetooth.BluetoothGattCallbackExt, int);
method public android.bluetooth.BluetoothGatt connectGatt(android.content.Context, boolean, android.bluetooth.BluetoothGattCallbackExt, int, int);
method public boolean createBond(); method public boolean createBond();
method public android.bluetooth.BluetoothSocket createInsecureRfcommSocketToServiceRecord(java.util.UUID) throws java.io.IOException; method public android.bluetooth.BluetoothSocket createInsecureRfcommSocketToServiceRecord(java.util.UUID) throws java.io.IOException;
method public android.bluetooth.BluetoothSocket createRfcommSocketToServiceRecord(java.util.UUID) throws java.io.IOException; method public android.bluetooth.BluetoothSocket createRfcommSocketToServiceRecord(java.util.UUID) throws java.io.IOException;
@ -7479,12 +7477,8 @@ package android.bluetooth {
field public static final int GATT_WRITE_NOT_PERMITTED = 3; // 0x3 field public static final int GATT_WRITE_NOT_PERMITTED = 3; // 0x3
} }
public abstract deprecated class BluetoothGattCallback extends android.bluetooth.BluetoothGattCallbackExt { public abstract class BluetoothGattCallback {
ctor public BluetoothGattCallback(); ctor public BluetoothGattCallback();
}
public abstract class BluetoothGattCallbackExt {
ctor public BluetoothGattCallbackExt();
method public void onCharacteristicChanged(android.bluetooth.BluetoothGatt, android.bluetooth.BluetoothGattCharacteristic); method public void onCharacteristicChanged(android.bluetooth.BluetoothGatt, android.bluetooth.BluetoothGattCharacteristic);
method public void onCharacteristicRead(android.bluetooth.BluetoothGatt, android.bluetooth.BluetoothGattCharacteristic, int); method public void onCharacteristicRead(android.bluetooth.BluetoothGatt, android.bluetooth.BluetoothGattCharacteristic, int);
method public void onCharacteristicWrite(android.bluetooth.BluetoothGatt, android.bluetooth.BluetoothGattCharacteristic, int); method public void onCharacteristicWrite(android.bluetooth.BluetoothGatt, android.bluetooth.BluetoothGattCharacteristic, int);
@ -7593,12 +7587,8 @@ package android.bluetooth {
method public void setPreferredPhy(android.bluetooth.BluetoothDevice, int, int, int); method public void setPreferredPhy(android.bluetooth.BluetoothDevice, int, int, int);
} }
public abstract deprecated class BluetoothGattServerCallback extends android.bluetooth.BluetoothGattServerCallbackExt { public abstract class BluetoothGattServerCallback {
ctor public BluetoothGattServerCallback(); ctor public BluetoothGattServerCallback();
}
public abstract class BluetoothGattServerCallbackExt {
ctor public BluetoothGattServerCallbackExt();
method public void onCharacteristicReadRequest(android.bluetooth.BluetoothDevice, int, int, android.bluetooth.BluetoothGattCharacteristic); method public void onCharacteristicReadRequest(android.bluetooth.BluetoothDevice, int, int, android.bluetooth.BluetoothGattCharacteristic);
method public void onCharacteristicWriteRequest(android.bluetooth.BluetoothDevice, int, android.bluetooth.BluetoothGattCharacteristic, boolean, boolean, int, byte[]); method public void onCharacteristicWriteRequest(android.bluetooth.BluetoothDevice, int, android.bluetooth.BluetoothGattCharacteristic, boolean, boolean, int, byte[]);
method public void onConnectionStateChange(android.bluetooth.BluetoothDevice, int, int); method public void onConnectionStateChange(android.bluetooth.BluetoothDevice, int, int);

View File

@ -7086,9 +7086,7 @@ package android.bluetooth {
public final class BluetoothDevice implements android.os.Parcelable { public final class BluetoothDevice implements android.os.Parcelable {
method public android.bluetooth.BluetoothGatt connectGatt(android.content.Context, boolean, android.bluetooth.BluetoothGattCallback); method public android.bluetooth.BluetoothGatt connectGatt(android.content.Context, boolean, android.bluetooth.BluetoothGattCallback);
method public android.bluetooth.BluetoothGatt connectGatt(android.content.Context, boolean, android.bluetooth.BluetoothGattCallback, int); method public android.bluetooth.BluetoothGatt connectGatt(android.content.Context, boolean, android.bluetooth.BluetoothGattCallback, int);
method public android.bluetooth.BluetoothGatt connectGatt(android.content.Context, boolean, android.bluetooth.BluetoothGattCallbackExt); method public android.bluetooth.BluetoothGatt connectGatt(android.content.Context, boolean, android.bluetooth.BluetoothGattCallback, int, int);
method public android.bluetooth.BluetoothGatt connectGatt(android.content.Context, boolean, android.bluetooth.BluetoothGattCallbackExt, int);
method public android.bluetooth.BluetoothGatt connectGatt(android.content.Context, boolean, android.bluetooth.BluetoothGattCallbackExt, int, int);
method public boolean createBond(); method public boolean createBond();
method public android.bluetooth.BluetoothSocket createInsecureRfcommSocketToServiceRecord(java.util.UUID) throws java.io.IOException; method public android.bluetooth.BluetoothSocket createInsecureRfcommSocketToServiceRecord(java.util.UUID) throws java.io.IOException;
method public android.bluetooth.BluetoothSocket createRfcommSocketToServiceRecord(java.util.UUID) throws java.io.IOException; method public android.bluetooth.BluetoothSocket createRfcommSocketToServiceRecord(java.util.UUID) throws java.io.IOException;
@ -7184,12 +7182,8 @@ package android.bluetooth {
field public static final int GATT_WRITE_NOT_PERMITTED = 3; // 0x3 field public static final int GATT_WRITE_NOT_PERMITTED = 3; // 0x3
} }
public abstract deprecated class BluetoothGattCallback extends android.bluetooth.BluetoothGattCallbackExt { public abstract class BluetoothGattCallback {
ctor public BluetoothGattCallback(); ctor public BluetoothGattCallback();
}
public abstract class BluetoothGattCallbackExt {
ctor public BluetoothGattCallbackExt();
method public void onCharacteristicChanged(android.bluetooth.BluetoothGatt, android.bluetooth.BluetoothGattCharacteristic); method public void onCharacteristicChanged(android.bluetooth.BluetoothGatt, android.bluetooth.BluetoothGattCharacteristic);
method public void onCharacteristicRead(android.bluetooth.BluetoothGatt, android.bluetooth.BluetoothGattCharacteristic, int); method public void onCharacteristicRead(android.bluetooth.BluetoothGatt, android.bluetooth.BluetoothGattCharacteristic, int);
method public void onCharacteristicWrite(android.bluetooth.BluetoothGatt, android.bluetooth.BluetoothGattCharacteristic, int); method public void onCharacteristicWrite(android.bluetooth.BluetoothGatt, android.bluetooth.BluetoothGattCharacteristic, int);
@ -7298,12 +7292,8 @@ package android.bluetooth {
method public void setPreferredPhy(android.bluetooth.BluetoothDevice, int, int, int); method public void setPreferredPhy(android.bluetooth.BluetoothDevice, int, int, int);
} }
public abstract deprecated class BluetoothGattServerCallback extends android.bluetooth.BluetoothGattServerCallbackExt { public abstract class BluetoothGattServerCallback {
ctor public BluetoothGattServerCallback(); ctor public BluetoothGattServerCallback();
}
public abstract class BluetoothGattServerCallbackExt {
ctor public BluetoothGattServerCallbackExt();
method public void onCharacteristicReadRequest(android.bluetooth.BluetoothDevice, int, int, android.bluetooth.BluetoothGattCharacteristic); method public void onCharacteristicReadRequest(android.bluetooth.BluetoothDevice, int, int, android.bluetooth.BluetoothGattCharacteristic);
method public void onCharacteristicWriteRequest(android.bluetooth.BluetoothDevice, int, android.bluetooth.BluetoothGattCharacteristic, boolean, boolean, int, byte[]); method public void onCharacteristicWriteRequest(android.bluetooth.BluetoothDevice, int, android.bluetooth.BluetoothGattCharacteristic, boolean, boolean, int, byte[]);
method public void onConnectionStateChange(android.bluetooth.BluetoothDevice, int, int); method public void onConnectionStateChange(android.bluetooth.BluetoothDevice, int, int);

View File

@ -1654,43 +1654,6 @@ public final class BluetoothDevice implements Parcelable {
return (connectGatt(context, autoConnect,callback, TRANSPORT_AUTO, PHY_LE_1M)); return (connectGatt(context, autoConnect,callback, TRANSPORT_AUTO, PHY_LE_1M));
} }
/**
* Connect to GATT Server hosted by this device. Caller acts as GATT client.
* The callback is used to deliver results to Caller, such as connection status as well
* as any further GATT client operations.
* The method returns a BluetoothGatt instance. You can use BluetoothGatt to conduct
* GATT client operations.
* @param callback GATT callback handler that will receive asynchronous callbacks.
* @param autoConnect Whether to directly connect to the remote device (false)
* or to automatically connect as soon as the remote
* device becomes available (true).
* @throws IllegalArgumentException if callback is null
*/
public BluetoothGatt connectGatt(Context context, boolean autoConnect,
BluetoothGattCallbackExt callback) {
return (connectGatt(context, autoConnect,callback, TRANSPORT_AUTO));
}
/**
* Connect to GATT Server hosted by this device. Caller acts as GATT client.
* The callback is used to deliver results to Caller, such as connection status as well
* as any further GATT client operations.
* The method returns a BluetoothGatt instance. You can use BluetoothGatt to conduct
* GATT client operations.
* @param callback GATT callback handler that will receive asynchronous callbacks.
* @param autoConnect Whether to directly connect to the remote device (false)
* or to automatically connect as soon as the remote
* device becomes available (true).
* @param transport preferred transport for GATT connections to remote dual-mode devices
* {@link BluetoothDevice#TRANSPORT_AUTO} or
* {@link BluetoothDevice#TRANSPORT_BREDR} or {@link BluetoothDevice#TRANSPORT_LE}
* @throws IllegalArgumentException if callback is null
*/
public BluetoothGatt connectGatt(Context context, boolean autoConnect,
BluetoothGattCallbackExt callback, int transport) {
return (connectGatt(context, autoConnect,callback, TRANSPORT_AUTO, PHY_LE_1M));
}
/** /**
* Connect to GATT Server hosted by this device. Caller acts as GATT client. * Connect to GATT Server hosted by this device. Caller acts as GATT client.
* The callback is used to deliver results to Caller, such as connection status as well * The callback is used to deliver results to Caller, such as connection status as well
@ -1711,7 +1674,7 @@ public final class BluetoothDevice implements Parcelable {
* @throws IllegalArgumentException if callback is null * @throws IllegalArgumentException if callback is null
*/ */
public BluetoothGatt connectGatt(Context context, boolean autoConnect, public BluetoothGatt connectGatt(Context context, boolean autoConnect,
BluetoothGattCallbackExt callback, int transport, int phy) { BluetoothGattCallback callback, int transport, int phy) {
// TODO(Bluetooth) check whether platform support BLE // TODO(Bluetooth) check whether platform support BLE
// Do the check here or in GattServer? // Do the check here or in GattServer?
BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter(); BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter();

View File

@ -31,7 +31,7 @@ import java.util.UUID;
* <p>This class provides Bluetooth GATT functionality to enable communication * <p>This class provides Bluetooth GATT functionality to enable communication
* with Bluetooth Smart or Smart Ready devices. * with Bluetooth Smart or Smart Ready devices.
* *
* <p>To connect to a remote peripheral device, create a {@link BluetoothGattCallbackExt} * <p>To connect to a remote peripheral device, create a {@link BluetoothGattCallback}
* and call {@link BluetoothDevice#connectGatt} to get a instance of this class. * and call {@link BluetoothDevice#connectGatt} to get a instance of this class.
* GATT capable devices can be discovered using the Bluetooth device discovery or BLE * GATT capable devices can be discovered using the Bluetooth device discovery or BLE
* scan process. * scan process.
@ -42,7 +42,7 @@ public final class BluetoothGatt implements BluetoothProfile {
private static final boolean VDBG = false; private static final boolean VDBG = false;
private IBluetoothGatt mService; private IBluetoothGatt mService;
private BluetoothGattCallbackExt mCallback; private BluetoothGattCallback mCallback;
private int mClientIf; private int mClientIf;
private BluetoothDevice mDevice; private BluetoothDevice mDevice;
private boolean mAutoConnect; private boolean mAutoConnect;
@ -133,9 +133,9 @@ public final class BluetoothGatt implements BluetoothProfile {
/*package*/ static final int AUTHENTICATION_MITM = 2; /*package*/ static final int AUTHENTICATION_MITM = 2;
/** /**
* Bluetooth GATT callbacks. Overrides the default BluetoothGattCallbackExt implementation. * Bluetooth GATT callbacks. Overrides the default BluetoothGattCallback implementation.
*/ */
private final IBluetoothGattCallbackExt mBluetoothGattCallbackExt = private final IBluetoothGattCallbackExt mBluetoothGattCallback =
new IBluetoothGattCallbackExt.Stub() { new IBluetoothGattCallbackExt.Stub() {
/** /**
* Application interface registered - app is ready to go * Application interface registered - app is ready to go
@ -618,7 +618,7 @@ public final class BluetoothGatt implements BluetoothProfile {
/** /**
* Register an application callback to start using GATT. * Register an application callback to start using GATT.
* *
* <p>This is an asynchronous call. The callback {@link BluetoothGattCallbackExt#onAppRegistered} * <p>This is an asynchronous call. The callback {@link BluetoothGattCallback#onAppRegistered}
* is used to notify success or failure if the function returns true. * is used to notify success or failure if the function returns true.
* *
* <p>Requires {@link android.Manifest.permission#BLUETOOTH} permission. * <p>Requires {@link android.Manifest.permission#BLUETOOTH} permission.
@ -627,7 +627,7 @@ public final class BluetoothGatt implements BluetoothProfile {
* @return If true, the callback will be called to notify success or failure, * @return If true, the callback will be called to notify success or failure,
* false on immediate error * false on immediate error
*/ */
private boolean registerApp(BluetoothGattCallbackExt callback) { private boolean registerApp(BluetoothGattCallback callback) {
if (DBG) Log.d(TAG, "registerApp()"); if (DBG) Log.d(TAG, "registerApp()");
if (mService == null) return false; if (mService == null) return false;
@ -636,7 +636,7 @@ public final class BluetoothGatt implements BluetoothProfile {
if (DBG) Log.d(TAG, "registerApp() - UUID=" + uuid); if (DBG) Log.d(TAG, "registerApp() - UUID=" + uuid);
try { try {
mService.registerClient(new ParcelUuid(uuid), mBluetoothGattCallbackExt); mService.registerClient(new ParcelUuid(uuid), mBluetoothGattCallback);
} catch (RemoteException e) { } catch (RemoteException e) {
Log.e(TAG,"",e); Log.e(TAG,"",e);
return false; return false;
@ -666,7 +666,7 @@ public final class BluetoothGatt implements BluetoothProfile {
* *
* <p>The connection may not be established right away, but will be * <p>The connection may not be established right away, but will be
* completed when the remote device is available. A * completed when the remote device is available. A
* {@link BluetoothGattCallbackExt#onConnectionStateChange} callback will be * {@link BluetoothGattCallback#onConnectionStateChange} callback will be
* invoked when the connection state changes as a result of this function. * invoked when the connection state changes as a result of this function.
* *
* <p>The autoConnect parameter determines whether to actively connect to * <p>The autoConnect parameter determines whether to actively connect to
@ -684,7 +684,7 @@ public final class BluetoothGatt implements BluetoothProfile {
* device becomes available (true). * device becomes available (true).
* @return true, if the connection attempt was initiated successfully * @return true, if the connection attempt was initiated successfully
*/ */
/*package*/ boolean connect(Boolean autoConnect, BluetoothGattCallbackExt callback) { /*package*/ boolean connect(Boolean autoConnect, BluetoothGattCallback callback) {
if (DBG) Log.d(TAG, "connect() - device: " + mDevice.getAddress() + ", auto: " + autoConnect); if (DBG) Log.d(TAG, "connect() - device: " + mDevice.getAddress() + ", auto: " + autoConnect);
synchronized(mStateLock) { synchronized(mStateLock) {
if (mConnState != CONN_STATE_IDLE) { if (mConnState != CONN_STATE_IDLE) {
@ -749,7 +749,7 @@ public final class BluetoothGatt implements BluetoothProfile {
* recommendation, wether the PHY change will happen depends on other applications peferences, * recommendation, wether the PHY change will happen depends on other applications peferences,
* local and remote controller capabilities. Controller can override these settings. * local and remote controller capabilities. Controller can override these settings.
* <p> * <p>
* {@link BluetoothGattCallbackExt#onPhyUpdate} will be triggered as a result of this call, even * {@link BluetoothGattCallback#onPhyUpdate} will be triggered as a result of this call, even
* if no PHY change happens. It is also triggered when remote device updates the PHY. * if no PHY change happens. It is also triggered when remote device updates the PHY.
* *
* @param txPhy preferred transmitter PHY. Bitwise OR of any of * @param txPhy preferred transmitter PHY. Bitwise OR of any of
@ -773,7 +773,7 @@ public final class BluetoothGatt implements BluetoothProfile {
/** /**
* Read the current transmitter PHY and receiver PHY of the connection. The values are returned * Read the current transmitter PHY and receiver PHY of the connection. The values are returned
* in {@link BluetoothGattCallbackExt#onPhyRead} * in {@link BluetoothGattCallback#onPhyRead}
*/ */
public void readPhy() { public void readPhy() {
try { try {
@ -797,7 +797,7 @@ public final class BluetoothGatt implements BluetoothProfile {
* characteristics and descriptors. * characteristics and descriptors.
* *
* <p>This is an asynchronous operation. Once service discovery is completed, * <p>This is an asynchronous operation. Once service discovery is completed,
* the {@link BluetoothGattCallbackExt#onServicesDiscovered} callback is * the {@link BluetoothGattCallback#onServicesDiscovered} callback is
* triggered. If the discovery was successful, the remote services can be * triggered. If the discovery was successful, the remote services can be
* retrieved using the {@link #getServices} function. * retrieved using the {@link #getServices} function.
* *
@ -876,7 +876,7 @@ public final class BluetoothGatt implements BluetoothProfile {
* Reads the requested characteristic from the associated remote device. * Reads the requested characteristic from the associated remote device.
* *
* <p>This is an asynchronous operation. The result of the read operation * <p>This is an asynchronous operation. The result of the read operation
* is reported by the {@link BluetoothGattCallbackExt#onCharacteristicRead} * is reported by the {@link BluetoothGattCallback#onCharacteristicRead}
* callback. * callback.
* *
* <p>Requires {@link android.Manifest.permission#BLUETOOTH} permission. * <p>Requires {@link android.Manifest.permission#BLUETOOTH} permission.
@ -918,7 +918,7 @@ public final class BluetoothGatt implements BluetoothProfile {
* Writes a given characteristic and its values to the associated remote device. * Writes a given characteristic and its values to the associated remote device.
* *
* <p>Once the write operation has been completed, the * <p>Once the write operation has been completed, the
* {@link BluetoothGattCallbackExt#onCharacteristicWrite} callback is invoked, * {@link BluetoothGattCallback#onCharacteristicWrite} callback is invoked,
* reporting the result of the operation. * reporting the result of the operation.
* *
* <p>Requires {@link android.Manifest.permission#BLUETOOTH} permission. * <p>Requires {@link android.Manifest.permission#BLUETOOTH} permission.
@ -962,7 +962,7 @@ public final class BluetoothGatt implements BluetoothProfile {
* Reads the value for a given descriptor from the associated remote device. * Reads the value for a given descriptor from the associated remote device.
* *
* <p>Once the read operation has been completed, the * <p>Once the read operation has been completed, the
* {@link BluetoothGattCallbackExt#onDescriptorRead} callback is * {@link BluetoothGattCallback#onDescriptorRead} callback is
* triggered, signaling the result of the operation. * triggered, signaling the result of the operation.
* *
* <p>Requires {@link android.Manifest.permission#BLUETOOTH} permission. * <p>Requires {@link android.Manifest.permission#BLUETOOTH} permission.
@ -1003,7 +1003,7 @@ public final class BluetoothGatt implements BluetoothProfile {
/** /**
* Write the value of a given descriptor to the associated remote device. * Write the value of a given descriptor to the associated remote device.
* *
* <p>A {@link BluetoothGattCallbackExt#onDescriptorWrite} callback is * <p>A {@link BluetoothGattCallback#onDescriptorWrite} callback is
* triggered to report the result of the write operation. * triggered to report the result of the write operation.
* *
* <p>Requires {@link android.Manifest.permission#BLUETOOTH} permission. * <p>Requires {@link android.Manifest.permission#BLUETOOTH} permission.
@ -1047,7 +1047,7 @@ public final class BluetoothGatt implements BluetoothProfile {
* <p>Once a reliable write transaction has been initiated, all calls * <p>Once a reliable write transaction has been initiated, all calls
* to {@link #writeCharacteristic} are sent to the remote device for * to {@link #writeCharacteristic} are sent to the remote device for
* verification and queued up for atomic execution. The application will * verification and queued up for atomic execution. The application will
* receive an {@link BluetoothGattCallbackExt#onCharacteristicWrite} callback * receive an {@link BluetoothGattCallback#onCharacteristicWrite} callback
* in response to every {@link #writeCharacteristic} call and is responsible * in response to every {@link #writeCharacteristic} call and is responsible
* for verifying if the value has been transmitted accurately. * for verifying if the value has been transmitted accurately.
* *
@ -1081,7 +1081,7 @@ public final class BluetoothGatt implements BluetoothProfile {
* <p>This function will commit all queued up characteristic write * <p>This function will commit all queued up characteristic write
* operations for a given remote device. * operations for a given remote device.
* *
* <p>A {@link BluetoothGattCallbackExt#onReliableWriteCompleted} callback is * <p>A {@link BluetoothGattCallback#onReliableWriteCompleted} callback is
* invoked to indicate whether the transaction has been executed correctly. * invoked to indicate whether the transaction has been executed correctly.
* *
* <p>Requires {@link android.Manifest.permission#BLUETOOTH} permission. * <p>Requires {@link android.Manifest.permission#BLUETOOTH} permission.
@ -1138,7 +1138,7 @@ public final class BluetoothGatt implements BluetoothProfile {
* Enable or disable notifications/indications for a given characteristic. * Enable or disable notifications/indications for a given characteristic.
* *
* <p>Once notifications are enabled for a characteristic, a * <p>Once notifications are enabled for a characteristic, a
* {@link BluetoothGattCallbackExt#onCharacteristicChanged} callback will be * {@link BluetoothGattCallback#onCharacteristicChanged} callback will be
* triggered if the remote device indicates that the given characteristic * triggered if the remote device indicates that the given characteristic
* has changed. * has changed.
* *
@ -1193,7 +1193,7 @@ public final class BluetoothGatt implements BluetoothProfile {
/** /**
* Read the RSSI for a connected remote device. * Read the RSSI for a connected remote device.
* *
* <p>The {@link BluetoothGattCallbackExt#onReadRemoteRssi} callback will be * <p>The {@link BluetoothGattCallback#onReadRemoteRssi} callback will be
* invoked when the RSSI value has been read. * invoked when the RSSI value has been read.
* *
* <p>Requires {@link android.Manifest.permission#BLUETOOTH} permission. * <p>Requires {@link android.Manifest.permission#BLUETOOTH} permission.
@ -1221,7 +1221,7 @@ public final class BluetoothGatt implements BluetoothProfile {
* the data sent is truncated to the MTU size. This function may be used * the data sent is truncated to the MTU size. This function may be used
* to request a larger MTU size to be able to send more data at once. * to request a larger MTU size to be able to send more data at once.
* *
* <p>A {@link BluetoothGattCallbackExt#onMtuChanged} callback will indicate * <p>A {@link BluetoothGattCallback#onMtuChanged} callback will indicate
* whether this operation was successful. * whether this operation was successful.
* *
* <p>Requires {@link android.Manifest.permission#BLUETOOTH} permission. * <p>Requires {@link android.Manifest.permission#BLUETOOTH} permission.

View File

@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2013 The Android Open Source Project * Copyright (C) 2017 The Android Open Source Project
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -18,22 +18,165 @@ package android.bluetooth;
/** /**
* This abstract class is used to implement {@link BluetoothGatt} callbacks. * This abstract class is used to implement {@link BluetoothGatt} callbacks.
* @deprecated use {@link BluetoothGattCallbackExt}
*/ */
public abstract class BluetoothGattCallback extends BluetoothGattCallbackExt { public abstract class BluetoothGattCallback{
/** /**
* @hide * Callback triggered as result of {@link BluetoothGatt#setPreferredPhy}, or as a result of
* remote device changing the PHY.
*
* @param gatt GATT client
* @param txPhy the transmitter PHY in use. One of {@link BluetoothDevice#PHY_LE_1M},
* {@link BluetoothDevice#PHY_LE_2M}, and {@link BluetoothDevice#PHY_LE_CODED}.
* @param rxPhy the receiver PHY in use. One of {@link BluetoothDevice#PHY_LE_1M},
* {@link BluetoothDevice#PHY_LE_2M}, and {@link BluetoothDevice#PHY_LE_CODED}.
* @param status status of the operation
*/ */
@Override
public void onPhyUpdate(BluetoothGatt gatt, int txPhy, int rxPhy, int status) { public void onPhyUpdate(BluetoothGatt gatt, int txPhy, int rxPhy, int status) {
} }
/** /**
* @hide * Callback triggered as result of {@link BluetoothGatt#readPhy}
*
* @param gatt GATT client
* @param txPhy the transmitter PHY in use. One of {@link BluetoothDevice#PHY_LE_1M},
* {@link BluetoothDevice#PHY_LE_2M}, and {@link BluetoothDevice#PHY_LE_CODED}.
* @param rxPhy the receiver PHY in use. One of {@link BluetoothDevice#PHY_LE_1M},
* {@link BluetoothDevice#PHY_LE_2M}, and {@link BluetoothDevice#PHY_LE_CODED}.
* @param status status of the operation
*/ */
@Override
public void onPhyRead(BluetoothGatt gatt, int txPhy, int rxPhy, int status) { public void onPhyRead(BluetoothGatt gatt, int txPhy, int rxPhy, int status) {
} }
/**
* Callback indicating when GATT client has connected/disconnected to/from a remote
* GATT server.
*
* @param gatt GATT client
* @param status Status of the connect or disconnect operation.
* {@link BluetoothGatt#GATT_SUCCESS} if the operation succeeds.
* @param newState Returns the new connection state. Can be one of
* {@link BluetoothProfile#STATE_DISCONNECTED} or
* {@link BluetoothProfile#STATE_CONNECTED}
*/
public void onConnectionStateChange(BluetoothGatt gatt, int status,
int newState) {
}
/**
* Callback invoked when the list of remote services, characteristics and descriptors
* for the remote device have been updated, ie new services have been discovered.
*
* @param gatt GATT client invoked {@link BluetoothGatt#discoverServices}
* @param status {@link BluetoothGatt#GATT_SUCCESS} if the remote device
* has been explored successfully.
*/
public void onServicesDiscovered(BluetoothGatt gatt, int status) {
}
/**
* Callback reporting the result of a characteristic read operation.
*
* @param gatt GATT client invoked {@link BluetoothGatt#readCharacteristic}
* @param characteristic Characteristic that was read from the associated
* remote device.
* @param status {@link BluetoothGatt#GATT_SUCCESS} if the read operation
* was completed successfully.
*/
public void onCharacteristicRead(BluetoothGatt gatt, BluetoothGattCharacteristic characteristic,
int status) {
}
/**
* Callback indicating the result of a characteristic write operation.
*
* <p>If this callback is invoked while a reliable write transaction is
* in progress, the value of the characteristic represents the value
* reported by the remote device. An application should compare this
* value to the desired value to be written. If the values don't match,
* the application must abort the reliable write transaction.
*
* @param gatt GATT client invoked {@link BluetoothGatt#writeCharacteristic}
* @param characteristic Characteristic that was written to the associated
* remote device.
* @param status The result of the write operation
* {@link BluetoothGatt#GATT_SUCCESS} if the operation succeeds.
*/
public void onCharacteristicWrite(BluetoothGatt gatt,
BluetoothGattCharacteristic characteristic, int status) {
}
/**
* Callback triggered as a result of a remote characteristic notification.
*
* @param gatt GATT client the characteristic is associated with
* @param characteristic Characteristic that has been updated as a result
* of a remote notification event.
*/
public void onCharacteristicChanged(BluetoothGatt gatt,
BluetoothGattCharacteristic characteristic) {
}
/**
* Callback reporting the result of a descriptor read operation.
*
* @param gatt GATT client invoked {@link BluetoothGatt#readDescriptor}
* @param descriptor Descriptor that was read from the associated
* remote device.
* @param status {@link BluetoothGatt#GATT_SUCCESS} if the read operation
* was completed successfully
*/
public void onDescriptorRead(BluetoothGatt gatt, BluetoothGattDescriptor descriptor,
int status) {
}
/**
* Callback indicating the result of a descriptor write operation.
*
* @param gatt GATT client invoked {@link BluetoothGatt#writeDescriptor}
* @param descriptor Descriptor that was writte to the associated
* remote device.
* @param status The result of the write operation
* {@link BluetoothGatt#GATT_SUCCESS} if the operation succeeds.
*/
public void onDescriptorWrite(BluetoothGatt gatt, BluetoothGattDescriptor descriptor,
int status) {
}
/**
* Callback invoked when a reliable write transaction has been completed.
*
* @param gatt GATT client invoked {@link BluetoothGatt#executeReliableWrite}
* @param status {@link BluetoothGatt#GATT_SUCCESS} if the reliable write
* transaction was executed successfully
*/
public void onReliableWriteCompleted(BluetoothGatt gatt, int status) {
}
/**
* Callback reporting the RSSI for a remote device connection.
*
* This callback is triggered in response to the
* {@link BluetoothGatt#readRemoteRssi} function.
*
* @param gatt GATT client invoked {@link BluetoothGatt#readRemoteRssi}
* @param rssi The RSSI value for the remote device
* @param status {@link BluetoothGatt#GATT_SUCCESS} if the RSSI was read successfully
*/
public void onReadRemoteRssi(BluetoothGatt gatt, int rssi, int status) {
}
/**
* Callback indicating the MTU for a given device connection has changed.
*
* This callback is triggered in response to the
* {@link BluetoothGatt#requestMtu} function, or in response to a connection
* event.
*
* @param gatt GATT client invoked {@link BluetoothGatt#requestMtu}
* @param mtu The new MTU size
* @param status {@link BluetoothGatt#GATT_SUCCESS} if the MTU has been changed successfully
*/
public void onMtuChanged(BluetoothGatt gatt, int mtu, int status) {
}
} }

View File

@ -1,182 +0,0 @@
/*
* Copyright (C) 2017 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package android.bluetooth;
/**
* This abstract class is used to implement {@link BluetoothGatt} callbacks.
*/
public abstract class BluetoothGattCallbackExt {
/**
* Callback triggered as result of {@link BluetoothGatt#setPreferredPhy}, or as a result of
* remote device changing the PHY.
*
* @param gatt GATT client
* @param txPhy the transmitter PHY in use. One of {@link BluetoothDevice#PHY_LE_1M},
* {@link BluetoothDevice#PHY_LE_2M}, and {@link BluetoothDevice#PHY_LE_CODED}.
* @param rxPhy the receiver PHY in use. One of {@link BluetoothDevice#PHY_LE_1M},
* {@link BluetoothDevice#PHY_LE_2M}, and {@link BluetoothDevice#PHY_LE_CODED}.
* @param status status of the operation
*/
public void onPhyUpdate(BluetoothGatt gatt, int txPhy, int rxPhy, int status) {
}
/**
* Callback triggered as result of {@link BluetoothGatt#readPhy}
*
* @param gatt GATT client
* @param txPhy the transmitter PHY in use. One of {@link BluetoothDevice#PHY_LE_1M},
* {@link BluetoothDevice#PHY_LE_2M}, and {@link BluetoothDevice#PHY_LE_CODED}.
* @param rxPhy the receiver PHY in use. One of {@link BluetoothDevice#PHY_LE_1M},
* {@link BluetoothDevice#PHY_LE_2M}, and {@link BluetoothDevice#PHY_LE_CODED}.
* @param status status of the operation
*/
public void onPhyRead(BluetoothGatt gatt, int txPhy, int rxPhy, int status) {
}
/**
* Callback indicating when GATT client has connected/disconnected to/from a remote
* GATT server.
*
* @param gatt GATT client
* @param status Status of the connect or disconnect operation.
* {@link BluetoothGatt#GATT_SUCCESS} if the operation succeeds.
* @param newState Returns the new connection state. Can be one of
* {@link BluetoothProfile#STATE_DISCONNECTED} or
* {@link BluetoothProfile#STATE_CONNECTED}
*/
public void onConnectionStateChange(BluetoothGatt gatt, int status,
int newState) {
}
/**
* Callback invoked when the list of remote services, characteristics and descriptors
* for the remote device have been updated, ie new services have been discovered.
*
* @param gatt GATT client invoked {@link BluetoothGatt#discoverServices}
* @param status {@link BluetoothGatt#GATT_SUCCESS} if the remote device
* has been explored successfully.
*/
public void onServicesDiscovered(BluetoothGatt gatt, int status) {
}
/**
* Callback reporting the result of a characteristic read operation.
*
* @param gatt GATT client invoked {@link BluetoothGatt#readCharacteristic}
* @param characteristic Characteristic that was read from the associated
* remote device.
* @param status {@link BluetoothGatt#GATT_SUCCESS} if the read operation
* was completed successfully.
*/
public void onCharacteristicRead(BluetoothGatt gatt, BluetoothGattCharacteristic characteristic,
int status) {
}
/**
* Callback indicating the result of a characteristic write operation.
*
* <p>If this callback is invoked while a reliable write transaction is
* in progress, the value of the characteristic represents the value
* reported by the remote device. An application should compare this
* value to the desired value to be written. If the values don't match,
* the application must abort the reliable write transaction.
*
* @param gatt GATT client invoked {@link BluetoothGatt#writeCharacteristic}
* @param characteristic Characteristic that was written to the associated
* remote device.
* @param status The result of the write operation
* {@link BluetoothGatt#GATT_SUCCESS} if the operation succeeds.
*/
public void onCharacteristicWrite(BluetoothGatt gatt,
BluetoothGattCharacteristic characteristic, int status) {
}
/**
* Callback triggered as a result of a remote characteristic notification.
*
* @param gatt GATT client the characteristic is associated with
* @param characteristic Characteristic that has been updated as a result
* of a remote notification event.
*/
public void onCharacteristicChanged(BluetoothGatt gatt,
BluetoothGattCharacteristic characteristic) {
}
/**
* Callback reporting the result of a descriptor read operation.
*
* @param gatt GATT client invoked {@link BluetoothGatt#readDescriptor}
* @param descriptor Descriptor that was read from the associated
* remote device.
* @param status {@link BluetoothGatt#GATT_SUCCESS} if the read operation
* was completed successfully
*/
public void onDescriptorRead(BluetoothGatt gatt, BluetoothGattDescriptor descriptor,
int status) {
}
/**
* Callback indicating the result of a descriptor write operation.
*
* @param gatt GATT client invoked {@link BluetoothGatt#writeDescriptor}
* @param descriptor Descriptor that was writte to the associated
* remote device.
* @param status The result of the write operation
* {@link BluetoothGatt#GATT_SUCCESS} if the operation succeeds.
*/
public void onDescriptorWrite(BluetoothGatt gatt, BluetoothGattDescriptor descriptor,
int status) {
}
/**
* Callback invoked when a reliable write transaction has been completed.
*
* @param gatt GATT client invoked {@link BluetoothGatt#executeReliableWrite}
* @param status {@link BluetoothGatt#GATT_SUCCESS} if the reliable write
* transaction was executed successfully
*/
public void onReliableWriteCompleted(BluetoothGatt gatt, int status) {
}
/**
* Callback reporting the RSSI for a remote device connection.
*
* This callback is triggered in response to the
* {@link BluetoothGatt#readRemoteRssi} function.
*
* @param gatt GATT client invoked {@link BluetoothGatt#readRemoteRssi}
* @param rssi The RSSI value for the remote device
* @param status {@link BluetoothGatt#GATT_SUCCESS} if the RSSI was read successfully
*/
public void onReadRemoteRssi(BluetoothGatt gatt, int rssi, int status) {
}
/**
* Callback indicating the MTU for a given device connection has changed.
*
* This callback is triggered in response to the
* {@link BluetoothGatt#requestMtu} function, or in response to a connection
* event.
*
* @param gatt GATT client invoked {@link BluetoothGatt#requestMtu}
* @param mtu The new MTU size
* @param status {@link BluetoothGatt#GATT_SUCCESS} if the MTU has been changed successfully
*/
public void onMtuChanged(BluetoothGatt gatt, int mtu, int status) {
}
}

View File

@ -46,7 +46,7 @@ public final class BluetoothGattServer implements BluetoothProfile {
private BluetoothAdapter mAdapter; private BluetoothAdapter mAdapter;
private IBluetoothGatt mService; private IBluetoothGatt mService;
private BluetoothGattServerCallbackExt mCallback; private BluetoothGattServerCallback mCallback;
private Object mServerIfLock = new Object(); private Object mServerIfLock = new Object();
private int mServerIf; private int mServerIf;
@ -396,7 +396,7 @@ public final class BluetoothGattServer implements BluetoothProfile {
* @return true, the callback will be called to notify success or failure, * @return true, the callback will be called to notify success or failure,
* false on immediate error * false on immediate error
*/ */
/*package*/ boolean registerCallback(BluetoothGattServerCallbackExt callback) { /*package*/ boolean registerCallback(BluetoothGattServerCallback callback) {
if (DBG) Log.d(TAG, "registerCallback()"); if (DBG) Log.d(TAG, "registerCallback()");
if (mService == null) { if (mService == null) {
Log.e(TAG, "GATT service not available"); Log.e(TAG, "GATT service not available");
@ -472,7 +472,7 @@ public final class BluetoothGattServer implements BluetoothProfile {
* *
* <p>The connection may not be established right away, but will be * <p>The connection may not be established right away, but will be
* completed when the remote device is available. A * completed when the remote device is available. A
* {@link BluetoothGattServerCallbackExt#onConnectionStateChange} callback will be * {@link BluetoothGattServerCallback#onConnectionStateChange} callback will be
* invoked when the connection state changes as a result of this function. * invoked when the connection state changes as a result of this function.
* *
* <p>The autoConnect paramter determines whether to actively connect to * <p>The autoConnect paramter determines whether to actively connect to
@ -528,7 +528,7 @@ public final class BluetoothGattServer implements BluetoothProfile {
* recommendation, wether the PHY change will happen depends on other applications peferences, * recommendation, wether the PHY change will happen depends on other applications peferences,
* local and remote controller capabilities. Controller can override these settings. * local and remote controller capabilities. Controller can override these settings.
* <p> * <p>
* {@link BluetoothGattServerCallbackExt#onPhyUpdate} will be triggered as a result of this call, even * {@link BluetoothGattServerCallback#onPhyUpdate} will be triggered as a result of this call, even
* if no PHY change happens. It is also triggered when remote device updates the PHY. * if no PHY change happens. It is also triggered when remote device updates the PHY.
* *
* @param device The remote device to send this response to * @param device The remote device to send this response to
@ -553,7 +553,7 @@ public final class BluetoothGattServer implements BluetoothProfile {
/** /**
* Read the current transmitter PHY and receiver PHY of the connection. The values are returned * Read the current transmitter PHY and receiver PHY of the connection. The values are returned
* in {@link BluetoothGattServerCallbackExt#onPhyRead} * in {@link BluetoothGattServerCallback#onPhyRead}
* *
* @param device The remote device to send this response to * @param device The remote device to send this response to
*/ */
@ -572,10 +572,10 @@ public final class BluetoothGattServer implements BluetoothProfile {
* is received by one of these callback methods: * is received by one of these callback methods:
* *
* <ul> * <ul>
* <li>{@link BluetoothGattServerCallbackExt#onCharacteristicReadRequest} * <li>{@link BluetoothGattServerCallback#onCharacteristicReadRequest}
* <li>{@link BluetoothGattServerCallbackExt#onCharacteristicWriteRequest} * <li>{@link BluetoothGattServerCallback#onCharacteristicWriteRequest}
* <li>{@link BluetoothGattServerCallbackExt#onDescriptorReadRequest} * <li>{@link BluetoothGattServerCallback#onDescriptorReadRequest}
* <li>{@link BluetoothGattServerCallbackExt#onDescriptorWriteRequest} * <li>{@link BluetoothGattServerCallback#onDescriptorWriteRequest}
* </ul> * </ul>
* *
* <p>Requires {@link android.Manifest.permission#BLUETOOTH} permission. * <p>Requires {@link android.Manifest.permission#BLUETOOTH} permission.

View File

@ -20,21 +20,168 @@ import android.bluetooth.BluetoothDevice;
/** /**
* This abstract class is used to implement {@link BluetoothGattServer} callbacks. * This abstract class is used to implement {@link BluetoothGattServer} callbacks.
* @deprecated please use {@link BluetoothGattServerCallbackExt}
*/ */
public abstract class BluetoothGattServerCallback extends BluetoothGattServerCallbackExt { public abstract class BluetoothGattServerCallback {
/** /**
* @hide * Callback indicating when a remote device has been connected or disconnected.
*
* @param device Remote device that has been connected or disconnected.
* @param status Status of the connect or disconnect operation.
* @param newState Returns the new connection state. Can be one of
* {@link BluetoothProfile#STATE_DISCONNECTED} or
* {@link BluetoothProfile#STATE_CONNECTED}
*/
public void onConnectionStateChange(BluetoothDevice device, int status,
int newState) {
}
/**
* Indicates whether a local service has been added successfully.
*
* @param status Returns {@link BluetoothGatt#GATT_SUCCESS} if the service
* was added successfully.
* @param service The service that has been added
*/
public void onServiceAdded(int status, BluetoothGattService service) {
}
/**
* A remote client has requested to read a local characteristic.
*
* <p>An application must call {@link BluetoothGattServer#sendResponse}
* to complete the request.
*
* @param device The remote device that has requested the read operation
* @param requestId The Id of the request
* @param offset Offset into the value of the characteristic
* @param characteristic Characteristic to be read
*/
public void onCharacteristicReadRequest(BluetoothDevice device, int requestId,
int offset, BluetoothGattCharacteristic characteristic) {
}
/**
* A remote client has requested to write to a local characteristic.
*
* <p>An application must call {@link BluetoothGattServer#sendResponse}
* to complete the request.
*
* @param device The remote device that has requested the write operation
* @param requestId The Id of the request
* @param characteristic Characteristic to be written to.
* @param preparedWrite true, if this write operation should be queued for
* later execution.
* @param responseNeeded true, if the remote device requires a response
* @param offset The offset given for the value
* @param value The value the client wants to assign to the characteristic
*/
public void onCharacteristicWriteRequest(BluetoothDevice device, int requestId,
BluetoothGattCharacteristic characteristic,
boolean preparedWrite, boolean responseNeeded,
int offset, byte[] value) {
}
/**
* A remote client has requested to read a local descriptor.
*
* <p>An application must call {@link BluetoothGattServer#sendResponse}
* to complete the request.
*
* @param device The remote device that has requested the read operation
* @param requestId The Id of the request
* @param offset Offset into the value of the characteristic
* @param descriptor Descriptor to be read
*/
public void onDescriptorReadRequest(BluetoothDevice device, int requestId,
int offset, BluetoothGattDescriptor descriptor) {
}
/**
* A remote client has requested to write to a local descriptor.
*
* <p>An application must call {@link BluetoothGattServer#sendResponse}
* to complete the request.
*
* @param device The remote device that has requested the write operation
* @param requestId The Id of the request
* @param descriptor Descriptor to be written to.
* @param preparedWrite true, if this write operation should be queued for
* later execution.
* @param responseNeeded true, if the remote device requires a response
* @param offset The offset given for the value
* @param value The value the client wants to assign to the descriptor
*/
public void onDescriptorWriteRequest(BluetoothDevice device, int requestId,
BluetoothGattDescriptor descriptor,
boolean preparedWrite, boolean responseNeeded,
int offset, byte[] value) {
}
/**
* Execute all pending write operations for this device.
*
* <p>An application must call {@link BluetoothGattServer#sendResponse}
* to complete the request.
*
* @param device The remote device that has requested the write operations
* @param requestId The Id of the request
* @param execute Whether the pending writes should be executed (true) or
* cancelled (false)
*/
public void onExecuteWrite(BluetoothDevice device, int requestId, boolean execute) {
}
/**
* Callback invoked when a notification or indication has been sent to
* a remote device.
*
* <p>When multiple notifications are to be sent, an application must
* wait for this callback to be received before sending additional
* notifications.
*
* @param device The remote device the notification has been sent to
* @param status {@link BluetoothGatt#GATT_SUCCESS} if the operation was successful
*/
public void onNotificationSent(BluetoothDevice device, int status) {
}
/**
* Callback indicating the MTU for a given device connection has changed.
*
* <p>This callback will be invoked if a remote client has requested to change
* the MTU for a given connection.
*
* @param device The remote device that requested the MTU change
* @param mtu The new MTU size
*/
public void onMtuChanged(BluetoothDevice device, int mtu) {
}
/**
* Callback triggered as result of {@link BluetoothGattServer#setPreferredPhy}, or as a result
* of remote device changing the PHY.
*
* @param device The remote device
* @param txPhy the transmitter PHY in use. One of {@link BluetoothDevice#PHY_LE_1M},
* {@link BluetoothDevice#PHY_LE_2M}, and {@link BluetoothDevice#PHY_LE_CODED}
* @param rxPhy the receiver PHY in use. One of {@link BluetoothDevice#PHY_LE_1M},
* {@link BluetoothDevice#PHY_LE_2M}, and {@link BluetoothDevice#PHY_LE_CODED}
* @param status status of the operation
*/ */
@Override
public void onPhyUpdate(BluetoothDevice device, int txPhy, int rxPhy, int status) { public void onPhyUpdate(BluetoothDevice device, int txPhy, int rxPhy, int status) {
} }
/** /**
* @hide * Callback triggered as result of {@link BluetoothGattServer#readPhy}
*
* @param device The remote device that requested the PHY read
* @param txPhy the transmitter PHY in use. One of {@link BluetoothDevice#PHY_LE_1M},
* {@link BluetoothDevice#PHY_LE_2M}, and {@link BluetoothDevice#PHY_LE_CODED}
* @param rxPhy the receiver PHY in use. One of {@link BluetoothDevice#PHY_LE_1M},
* {@link BluetoothDevice#PHY_LE_2M}, and {@link BluetoothDevice#PHY_LE_CODED}
* @param status status of the operation
*/ */
@Override
public void onPhyRead(BluetoothDevice device, int txPhy, int rxPhy, int status) { public void onPhyRead(BluetoothDevice device, int txPhy, int rxPhy, int status) {
} }
} }

View File

@ -1,187 +0,0 @@
/*
* Copyright (C) 2013 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package android.bluetooth;
import android.bluetooth.BluetoothDevice;
/**
* This abstract class is used to implement {@link BluetoothGattServer} callbacks.
*/
public abstract class BluetoothGattServerCallbackExt {
/**
* Callback indicating when a remote device has been connected or disconnected.
*
* @param device Remote device that has been connected or disconnected.
* @param status Status of the connect or disconnect operation.
* @param newState Returns the new connection state. Can be one of
* {@link BluetoothProfile#STATE_DISCONNECTED} or
* {@link BluetoothProfile#STATE_CONNECTED}
*/
public void onConnectionStateChange(BluetoothDevice device, int status,
int newState) {
}
/**
* Indicates whether a local service has been added successfully.
*
* @param status Returns {@link BluetoothGatt#GATT_SUCCESS} if the service
* was added successfully.
* @param service The service that has been added
*/
public void onServiceAdded(int status, BluetoothGattService service) {
}
/**
* A remote client has requested to read a local characteristic.
*
* <p>An application must call {@link BluetoothGattServer#sendResponse}
* to complete the request.
*
* @param device The remote device that has requested the read operation
* @param requestId The Id of the request
* @param offset Offset into the value of the characteristic
* @param characteristic Characteristic to be read
*/
public void onCharacteristicReadRequest(BluetoothDevice device, int requestId,
int offset, BluetoothGattCharacteristic characteristic) {
}
/**
* A remote client has requested to write to a local characteristic.
*
* <p>An application must call {@link BluetoothGattServer#sendResponse}
* to complete the request.
*
* @param device The remote device that has requested the write operation
* @param requestId The Id of the request
* @param characteristic Characteristic to be written to.
* @param preparedWrite true, if this write operation should be queued for
* later execution.
* @param responseNeeded true, if the remote device requires a response
* @param offset The offset given for the value
* @param value The value the client wants to assign to the characteristic
*/
public void onCharacteristicWriteRequest(BluetoothDevice device, int requestId,
BluetoothGattCharacteristic characteristic,
boolean preparedWrite, boolean responseNeeded,
int offset, byte[] value) {
}
/**
* A remote client has requested to read a local descriptor.
*
* <p>An application must call {@link BluetoothGattServer#sendResponse}
* to complete the request.
*
* @param device The remote device that has requested the read operation
* @param requestId The Id of the request
* @param offset Offset into the value of the characteristic
* @param descriptor Descriptor to be read
*/
public void onDescriptorReadRequest(BluetoothDevice device, int requestId,
int offset, BluetoothGattDescriptor descriptor) {
}
/**
* A remote client has requested to write to a local descriptor.
*
* <p>An application must call {@link BluetoothGattServer#sendResponse}
* to complete the request.
*
* @param device The remote device that has requested the write operation
* @param requestId The Id of the request
* @param descriptor Descriptor to be written to.
* @param preparedWrite true, if this write operation should be queued for
* later execution.
* @param responseNeeded true, if the remote device requires a response
* @param offset The offset given for the value
* @param value The value the client wants to assign to the descriptor
*/
public void onDescriptorWriteRequest(BluetoothDevice device, int requestId,
BluetoothGattDescriptor descriptor,
boolean preparedWrite, boolean responseNeeded,
int offset, byte[] value) {
}
/**
* Execute all pending write operations for this device.
*
* <p>An application must call {@link BluetoothGattServer#sendResponse}
* to complete the request.
*
* @param device The remote device that has requested the write operations
* @param requestId The Id of the request
* @param execute Whether the pending writes should be executed (true) or
* cancelled (false)
*/
public void onExecuteWrite(BluetoothDevice device, int requestId, boolean execute) {
}
/**
* Callback invoked when a notification or indication has been sent to
* a remote device.
*
* <p>When multiple notifications are to be sent, an application must
* wait for this callback to be received before sending additional
* notifications.
*
* @param device The remote device the notification has been sent to
* @param status {@link BluetoothGatt#GATT_SUCCESS} if the operation was successful
*/
public void onNotificationSent(BluetoothDevice device, int status) {
}
/**
* Callback indicating the MTU for a given device connection has changed.
*
* <p>This callback will be invoked if a remote client has requested to change
* the MTU for a given connection.
*
* @param device The remote device that requested the MTU change
* @param mtu The new MTU size
*/
public void onMtuChanged(BluetoothDevice device, int mtu) {
}
/**
* Callback triggered as result of {@link BluetoothGattServer#setPreferredPhy}, or as a result
* of remote device changing the PHY.
*
* @param device The remote device
* @param txPhy the transmitter PHY in use. One of {@link BluetoothDevice#PHY_LE_1M},
* {@link BluetoothDevice#PHY_LE_2M}, and {@link BluetoothDevice#PHY_LE_CODED}
* @param rxPhy the receiver PHY in use. One of {@link BluetoothDevice#PHY_LE_1M},
* {@link BluetoothDevice#PHY_LE_2M}, and {@link BluetoothDevice#PHY_LE_CODED}
* @param status status of the operation
*/
public void onPhyUpdate(BluetoothDevice device, int txPhy, int rxPhy, int status) {
}
/**
* Callback triggered as result of {@link BluetoothGattServer#readPhy}
*
* @param device The remote device that requested the PHY read
* @param txPhy the transmitter PHY in use. One of {@link BluetoothDevice#PHY_LE_1M},
* {@link BluetoothDevice#PHY_LE_2M}, and {@link BluetoothDevice#PHY_LE_CODED}
* @param rxPhy the receiver PHY in use. One of {@link BluetoothDevice#PHY_LE_1M},
* {@link BluetoothDevice#PHY_LE_2M}, and {@link BluetoothDevice#PHY_LE_CODED}
* @param status status of the operation
*/
public void onPhyRead(BluetoothDevice device, int txPhy, int rxPhy, int status) {
}
}