From a142881535d8736834fefa3f83b8d3375429db21 Mon Sep 17 00:00:00 2001 From: Andy Branscomb Date: Fri, 25 Sep 2020 17:33:15 -0700 Subject: [PATCH] Remove enum ambiguity from TransactionResult.responseStatus() --- .../bluetooth/fbgatt/GattClientCallback.java | 15 ++--- .../bluetooth/fbgatt/GattConnection.java | 2 +- .../fbgatt/GattDisconnectReason.java | 1 + .../bluetooth/fbgatt/GattServerCallback.java | 9 +-- .../bluetooth/fbgatt/GattServerListener.java | 3 +- .../fbgatt/GattServerTransaction.java | 3 +- .../bluetooth/fbgatt/TransactionResult.java | 56 ++++++++++++++----- ...ceCharacteristicDescriptorTransaction.java | 6 +- ...erverServiceCharacteristicTransaction.java | 6 +- .../tx/AddGattServerServiceTransaction.java | 9 +-- .../fbgatt/tx/CreateBondTransaction.java | 4 +- ...GattClientDiscoverServicesTransaction.java | 2 +- .../fbgatt/tx/GattConnectTransaction.java | 4 +- .../fbgatt/tx/GattDisconnectTransaction.java | 2 +- .../tx/GattServerDisconnectTransaction.java | 6 +- ...fyGattServerCharacteristicTransaction.java | 8 +-- .../tx/ReadGattCharacteristicTransaction.java | 3 +- .../tx/ReadGattClientPhyTransaction.java | 3 +- .../tx/ReadGattDescriptorTransaction.java | 3 +- ...racteristicDescriptorValueTransaction.java | 4 +- ...tServerCharacteristicValueTransaction.java | 4 +- .../fbgatt/tx/ReadRssiTransaction.java | 3 +- ...RequestGattClientPhyChangeTransaction.java | 3 +- ...uestGattConnectionIntervalTransaction.java | 4 +- .../fbgatt/tx/RequestMtuGattTransaction.java | 3 +- .../tx/SendGattServerResponseTransaction.java | 4 +- ...haracteristicNotificationsTransaction.java | 11 ++-- ...haracteristicNotificationsTransaction.java | 5 +- .../WriteGattCharacteristicTransaction.java | 3 +- .../tx/WriteGattDescriptorTransaction.java | 3 +- ...racteristicDescriptorValueTransaction.java | 4 +- ...tServerCharacteristicValueTransaction.java | 4 +- ...ClientDiscoverMockServicesTransaction.java | 4 +- .../tx/mocks/GattConnectMockTransaction.java | 7 +-- .../mocks/GattDisconnectMockTransaction.java | 6 +- .../GattServerConnectMockTransaction.java | 3 +- ...ttServerCharacteristicMockTransaction.java | 6 +- ...GattConnectionIntervalMockTransaction.java | 2 +- .../bluetooth/fbgatt/GattServerTests.java | 3 +- 39 files changed, 131 insertions(+), 100 deletions(-) diff --git a/src/main/java/com/fitbit/bluetooth/fbgatt/GattClientCallback.java b/src/main/java/com/fitbit/bluetooth/fbgatt/GattClientCallback.java index 896d1a39..3048e2da 100644 --- a/src/main/java/com/fitbit/bluetooth/fbgatt/GattClientCallback.java +++ b/src/main/java/com/fitbit/bluetooth/fbgatt/GattClientCallback.java @@ -13,9 +13,9 @@ import com.fitbit.bluetooth.fbgatt.tx.GattClientDiscoverServicesTransaction; import com.fitbit.bluetooth.fbgatt.tx.RequestGattClientPhyChangeTransaction; import com.fitbit.bluetooth.fbgatt.tx.RequestMtuGattTransaction; +import com.fitbit.bluetooth.fbgatt.util.GattDisconnectReason; import com.fitbit.bluetooth.fbgatt.util.GattStatus; import com.fitbit.bluetooth.fbgatt.util.GattUtils; - import android.bluetooth.BluetoothDevice; import android.bluetooth.BluetoothGatt; import android.bluetooth.BluetoothGattCallback; @@ -25,13 +25,11 @@ import android.bluetooth.BluetoothProfile; import android.os.Handler; import android.os.Looper; - import java.util.ArrayList; import java.util.Collections; import java.util.Iterator; import java.util.List; import java.util.Locale; - import timber.log.Timber; /** @@ -123,7 +121,7 @@ public void onPhyUpdate(BluetoothGatt gatt, int txPhy, int rxPhy, int status) { .txPhy(txPhy) .rxPhy(rxPhy) .gattState(conn.getGattState()) - .responseStatus(GattDisconnectReason.getReasonForCode(status).ordinal()).build(), conn); + .responseStatus(GattStatus.getStatusForCode(status)).build(), conn); } }); } @@ -224,7 +222,7 @@ public void onConnectionStateChange(BluetoothGatt gatt, int status, int newState asyncConnListener.onClientConnectionStateChanged(new TransactionResult.Builder() .resultStatus(TransactionResult.TransactionResultStatus.FAILURE) .gattState(conn.getGattState()) - .responseStatus(GattDisconnectReason.getReasonForCode(status).ordinal()).build(), conn); + .disconnectReason(GattDisconnectReason.getReasonForCode(status)).build(), conn); } }, HOT_QUEUE_EMPTYING_TIME); } else { @@ -256,8 +254,7 @@ public void onConnectionStateChange(BluetoothGatt gatt, int status, int newState for(ConnectionEventListener asyncConnListener : conn.getConnectionEventListeners()) { handler.post(() -> asyncConnListener.onClientConnectionStateChanged(new TransactionResult.Builder() .resultStatus(TransactionResult.TransactionResultStatus.SUCCESS) - .gattState(conn.getGattState()) - .responseStatus(GattDisconnectReason.getReasonForCode(status).ordinal()).build(), conn)); + .gattState(conn.getGattState()).build(), conn)); } }); break; @@ -298,7 +295,7 @@ public void onServicesDiscovered(BluetoothGatt gatt, int status) { .transactionName(GattClientDiscoverServicesTransaction.NAME) .serverServices(discoveredServices) .gattState(conn.getGattState()) - .responseStatus(GattDisconnectReason.getReasonForCode(status).ordinal()).build(), conn); + .responseStatus(GattStatus.getStatusForCode(status)).build(), conn); } }); } @@ -473,7 +470,7 @@ public void onMtuChanged(BluetoothGatt gatt, int mtu, int status) { .transactionName(RequestMtuGattTransaction.NAME) .mtu(mtu) .gattState(conn.getGattState()) - .responseStatus(GattDisconnectReason.getReasonForCode(status).ordinal()).build(); + .responseStatus(GattStatus.getStatusForCode(status)).build(); // since this is one of the events that could happen asynchronously, we will // need to iterate through our connection listeners handler.post(() -> { diff --git a/src/main/java/com/fitbit/bluetooth/fbgatt/GattConnection.java b/src/main/java/com/fitbit/bluetooth/fbgatt/GattConnection.java index e3c2f328..dcd491f6 100644 --- a/src/main/java/com/fitbit/bluetooth/fbgatt/GattConnection.java +++ b/src/main/java/com/fitbit/bluetooth/fbgatt/GattConnection.java @@ -294,7 +294,7 @@ public void simulateDisconnect() { asyncConnListener.onClientConnectionStateChanged(new TransactionResult.Builder() .resultStatus(TransactionResult.TransactionResultStatus.FAILURE) .gattState(getGattState()) - .responseStatus(GattStatus.GATT_UNKNOWN.ordinal()).build(), this); + .responseStatus(GattStatus.GATT_UNKNOWN).build(), this); } } else { throw new IllegalStateException(String.format(Locale.ENGLISH, "[%s] You can't simulate a disconnection if you are not in mock mode", getDevice())); diff --git a/src/main/java/com/fitbit/bluetooth/fbgatt/GattDisconnectReason.java b/src/main/java/com/fitbit/bluetooth/fbgatt/GattDisconnectReason.java index 9caa20d7..56a5ec53 100644 --- a/src/main/java/com/fitbit/bluetooth/fbgatt/GattDisconnectReason.java +++ b/src/main/java/com/fitbit/bluetooth/fbgatt/GattDisconnectReason.java @@ -15,6 +15,7 @@ * Created by iowens on 8/10/17. */ +@Deprecated enum GattDisconnectReason { GATT_CONN_UNKNOWN(0), GATT_CONN_NO_RESOURCES(4), /* connection fail for l2cap resource failure */ diff --git a/src/main/java/com/fitbit/bluetooth/fbgatt/GattServerCallback.java b/src/main/java/com/fitbit/bluetooth/fbgatt/GattServerCallback.java index 3b7cfaec..fbae79c4 100644 --- a/src/main/java/com/fitbit/bluetooth/fbgatt/GattServerCallback.java +++ b/src/main/java/com/fitbit/bluetooth/fbgatt/GattServerCallback.java @@ -10,9 +10,9 @@ import com.fitbit.bluetooth.fbgatt.btcopies.BluetoothGattCharacteristicCopy; import com.fitbit.bluetooth.fbgatt.btcopies.BluetoothGattDescriptorCopy; +import com.fitbit.bluetooth.fbgatt.util.GattDisconnectReason; import com.fitbit.bluetooth.fbgatt.util.GattStatus; import com.fitbit.bluetooth.fbgatt.util.GattUtils; - import android.bluetooth.BluetoothDevice; import android.bluetooth.BluetoothGattCharacteristic; import android.bluetooth.BluetoothGattDescriptor; @@ -23,13 +23,11 @@ import android.os.Build; import android.os.Handler; import android.os.Looper; - import java.util.ArrayList; import java.util.Collections; import java.util.Iterator; import java.util.List; import java.util.UUID; - import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.annotation.VisibleForTesting; @@ -112,7 +110,7 @@ public void onConnectionStateChange(BluetoothDevice device, int status, int newS // success because we received this data TransactionResult result = new TransactionResult.Builder() .gattState(conn.getGattState()) - .responseStatus(status) + .disconnectReason(GattDisconnectReason.getReasonForCode(status)) .resultStatus(TransactionResult.TransactionResultStatus.FAILURE).build(); handler.post(() -> asyncListener.onServerConnectionStateChanged(device, result, conn)); } @@ -127,7 +125,6 @@ public void onConnectionStateChange(BluetoothDevice device, int status, int newS // success because we received this data TransactionResult result = new TransactionResult.Builder() .gattState(conn.getGattState()) - .responseStatus(status) .resultStatus(TransactionResult.TransactionResultStatus.SUCCESS).build(); handler.post(() -> asyncListener.onServerConnectionStateChanged(device, result, conn)); } @@ -395,7 +392,7 @@ public void onNotificationSent(BluetoothDevice device, int status) { ArrayList copy = new ArrayList<>(listeners.size()); copy.addAll(listeners); for (GattServerListener listener : copy) { - handler.post(() -> listener.onServerNotificationSent(device, GattStatus.getStatusForCode(status).ordinal())); + handler.post(() -> listener.onServerNotificationSent(device, GattStatus.getStatusForCode(status))); } } diff --git a/src/main/java/com/fitbit/bluetooth/fbgatt/GattServerListener.java b/src/main/java/com/fitbit/bluetooth/fbgatt/GattServerListener.java index a14ce4db..aa47115e 100644 --- a/src/main/java/com/fitbit/bluetooth/fbgatt/GattServerListener.java +++ b/src/main/java/com/fitbit/bluetooth/fbgatt/GattServerListener.java @@ -10,6 +10,7 @@ import com.fitbit.bluetooth.fbgatt.btcopies.BluetoothGattCharacteristicCopy; import com.fitbit.bluetooth.fbgatt.btcopies.BluetoothGattDescriptorCopy; +import com.fitbit.bluetooth.fbgatt.util.GattStatus; import android.bluetooth.BluetoothDevice; import android.bluetooth.BluetoothGattCharacteristic; @@ -117,7 +118,7 @@ interface GattServerListener { * @param device The bluetooth device * @param status The status */ - void onServerNotificationSent(BluetoothDevice device, int status); + void onServerNotificationSent(BluetoothDevice device, GattStatus status); /** * *DO NOT USE UNLESS YOU KNOW WHAT YOU ARE DOING!!!* library internal method for notifying the {@link FitbitGatt} that the server diff --git a/src/main/java/com/fitbit/bluetooth/fbgatt/GattServerTransaction.java b/src/main/java/com/fitbit/bluetooth/fbgatt/GattServerTransaction.java index b18f2ac2..6a159f1e 100644 --- a/src/main/java/com/fitbit/bluetooth/fbgatt/GattServerTransaction.java +++ b/src/main/java/com/fitbit/bluetooth/fbgatt/GattServerTransaction.java @@ -10,6 +10,7 @@ import com.fitbit.bluetooth.fbgatt.btcopies.BluetoothGattCharacteristicCopy; import com.fitbit.bluetooth.fbgatt.btcopies.BluetoothGattDescriptorCopy; +import com.fitbit.bluetooth.fbgatt.util.GattStatus; import com.fitbit.bluetooth.fbgatt.util.GattUtils; import android.bluetooth.BluetoothDevice; import android.bluetooth.BluetoothGattService; @@ -162,7 +163,7 @@ public void onServerExecuteWrite(BluetoothDevice device, int requestId, boolean } @Override - public void onServerNotificationSent(BluetoothDevice device, int status) { + public void onServerNotificationSent(BluetoothDevice device, GattStatus status) { Timber.v("[%s] onServerNotificationSent not handled in tx: %s", utils.debugSafeGetBtDeviceName(device), getName()); } diff --git a/src/main/java/com/fitbit/bluetooth/fbgatt/TransactionResult.java b/src/main/java/com/fitbit/bluetooth/fbgatt/TransactionResult.java index b9c9e97e..d4ecf77f 100644 --- a/src/main/java/com/fitbit/bluetooth/fbgatt/TransactionResult.java +++ b/src/main/java/com/fitbit/bluetooth/fbgatt/TransactionResult.java @@ -9,18 +9,17 @@ package com.fitbit.bluetooth.fbgatt; import com.fitbit.bluetooth.fbgatt.util.Bytes; +import com.fitbit.bluetooth.fbgatt.util.GattDisconnectReason; import com.fitbit.bluetooth.fbgatt.util.GattStatus; - import android.bluetooth.BluetoothDevice; import android.bluetooth.BluetoothGattCharacteristic; import android.bluetooth.BluetoothGattService; -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; - import java.util.ArrayList; import java.util.List; import java.util.Locale; import java.util.UUID; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; /** * A class to encapsulate the range of possible data to be returned from the transactions and the @@ -56,7 +55,13 @@ public enum TransactionResultStatus { /** * The gatt operation response status */ - private final int responseStatus; + private final GattStatus responseStatus; + + /** + * The gatt disconnect reason + */ + @Nullable + private final GattDisconnectReason disconnectReason; /** * If handling a gatt server read or write request, the requestId for ensuring proper response */ @@ -146,7 +151,7 @@ public enum TransactionResultStatus { * @param newTransactionName The new transaction name */ TransactionResult(TransactionResult result, String newTransactionName) { - this(result.resultState, result.resultStatus, result.responseStatus, result.rssi, + this(result.resultState, result.resultStatus, result.responseStatus, result.disconnectReason, result.rssi, result.mtu, result.requestId, result.characteristicUuid, result.serviceUuid, result.descriptorUuid, result.data, result.offset, result.gattServerServices, result.preparedWrite, result.responseRequired, result.transactionName, result.txPhy, @@ -178,7 +183,7 @@ public enum TransactionResultStatus { * @param responseRequired Whether a response is required for a given write request * @param transactionName The transaction name to get around obfuscation in logging */ - TransactionResult(GattState state, TransactionResultStatus status, int responseStatus, int rssi, + TransactionResult(GattState state, TransactionResultStatus status, GattStatus responseStatus, GattDisconnectReason disconnectReason, int rssi, int mtu, int requestId, UUID characteristicUuid, UUID serviceUuid, UUID descriptorUuid, byte[] data, int offset, List services, boolean preparedWrite, boolean responseRequired, String transactionName, int txPhy, int rxPhy, List transactionResults) { this.resultState = state; @@ -199,6 +204,7 @@ public enum TransactionResultStatus { this.txPhy = txPhy; this.rxPhy = rxPhy; this.transactionResults = new ArrayList<>(transactionResults); + this.disconnectReason = disconnectReason; } /** @@ -335,8 +341,17 @@ public boolean isResponseRequired() { * transaction response * @return The gatt status enum for the ordinal */ - public String getResponseCodeString(){ - return GattStatus.values()[this.responseStatus].name(); + public String getResponseCodeString() { + return this.responseStatus != null ? this.responseStatus.name() : "null"; + } + + /** + * Get the disconnect reason if there is one. + * @return The disconnect reason if there is one + */ + @Nullable + public GattDisconnectReason getDisconnectReason() { + return this.disconnectReason; } /** @@ -370,7 +385,7 @@ public List getTransactionResults(){ */ public static class Builder { - private int responseStatus; + private GattStatus responseStatus; private int requestId; private UUID characteristicUuid; private UUID serviceUuid; @@ -388,6 +403,7 @@ public static class Builder { private boolean responseRequired; private String transactionName = "Unknown"; private ArrayList results = new ArrayList<>(); + private GattDisconnectReason disconnectReason; public Builder() { @@ -435,11 +451,21 @@ public Builder data(byte[] data) { /** * Adds the response status to this builder - * @param code The repsonse status ordinal + * @param status The response status ordinal + * @return This builder + */ + public Builder responseStatus(GattStatus status) { + this.responseStatus = status; + return this; + } + + /** + * Adds the disconnect reason to this builder + * @param reason The disconnect reason * @return This builder */ - public Builder responseStatus(int code) { - this.responseStatus = code; + public Builder disconnectReason(GattDisconnectReason reason) { + this.disconnectReason = reason; return this; } @@ -581,7 +607,7 @@ public Builder rxPhy(int rxPhy) { * @return the {@link TransactionResult} with the properties described in the builder */ public TransactionResult build() { - return new TransactionResult(resultState, resultStatus, responseStatus, rssi, + return new TransactionResult(resultState, resultStatus, responseStatus, disconnectReason, rssi, mtu, requestId, characteristicUuid, serviceUuid, descriptorUuid, data, offset, services, preparedWrite, responseRequired, transactionName, txPhy, rxPhy, results); } @@ -590,6 +616,6 @@ public TransactionResult build() { @Override public String toString() { - return String.format(Locale.ENGLISH, "Transaction Name: %s, Gatt State: %s, Transaction Result Status: %s, Response Status: %s, rssi: %d, mtu: %d, Characteristic UUID: %s, Service UUID: %s, Descriptor UUID: %s, Data: %s, Offset: %d, txPhy: %d, rxPhy: %d, transaction results: %s", this.transactionName, this.resultState, this.resultStatus, GattStatus.getStatusForCode(this.responseStatus), this.rssi, this.mtu, this.characteristicUuid, this.serviceUuid, this.descriptorUuid, Bytes.byteArrayToHexString(this.data), this.offset, this.txPhy, this.rxPhy, this.transactionResults); + return String.format(Locale.ENGLISH, "Transaction Name: %s, Gatt State: %s, Transaction Result Status: %s, Response Status: %s, rssi: %d, mtu: %d, Characteristic UUID: %s, Service UUID: %s, Descriptor UUID: %s, Data: %s, Offset: %d, txPhy: %d, rxPhy: %d, transaction results: %s", this.transactionName, this.resultState, this.resultStatus, this.responseStatus, this.rssi, this.mtu, this.characteristicUuid, this.serviceUuid, this.descriptorUuid, Bytes.byteArrayToHexString(this.data), this.offset, this.txPhy, this.rxPhy, this.transactionResults); } } diff --git a/src/main/java/com/fitbit/bluetooth/fbgatt/tx/AddGattServerServiceCharacteristicDescriptorTransaction.java b/src/main/java/com/fitbit/bluetooth/fbgatt/tx/AddGattServerServiceCharacteristicDescriptorTransaction.java index 531e0f72..e3623bfe 100644 --- a/src/main/java/com/fitbit/bluetooth/fbgatt/tx/AddGattServerServiceCharacteristicDescriptorTransaction.java +++ b/src/main/java/com/fitbit/bluetooth/fbgatt/tx/AddGattServerServiceCharacteristicDescriptorTransaction.java @@ -65,7 +65,7 @@ protected void transaction(GattTransactionCallback callback) { if(null != serviceChar) { if(doesDescriptorAlreadyExist(serviceChar, descriptor)) { TransactionResult.Builder builder = new TransactionResult.Builder().transactionName(getName()); - builder.responseStatus(GattDisconnectReason.getReasonForCode(GattDisconnectReason.GATT_CONN_NO_RESOURCES.getCode()).ordinal()); + builder.disconnectReason(GattDisconnectReason.GATT_CONN_NO_RESOURCES); getGattServer().setState(GattState.ADD_SERVICE_CHARACTERISTIC_DESCRIPTOR_FAILURE); Timber.w("The gatt service characteristic descriptor %s, is a duplicate, and could not be added to characteristic: %s, on service: %s", serviceChar.getUuid(), descriptor.getUuid(), service.getUuid()); @@ -83,7 +83,7 @@ protected void transaction(GattTransactionCallback callback) { builder.serviceUuid(serverService.getUuid()) .characteristicUuid(characteristic.getUuid()) .descriptorUuid(descriptor.getUuid()); - builder.responseStatus(GattStatus.GATT_SUCCESS.getCode()); + builder.responseStatus(GattStatus.GATT_SUCCESS); getGattServer().setState(GattState.ADD_SERVICE_CHARACTERISTIC_DESCRIPTOR_SUCCESS); Timber.e("The gatt service characteristic descriptor could not be added: %s", service.getUuid()); builder.gattState(getGattServer().getGattState()) @@ -105,7 +105,7 @@ protected void transaction(GattTransactionCallback callback) { private void respondWithError(String message, GattTransactionCallback callback) { TransactionResult.Builder builder = new TransactionResult.Builder().transactionName(getName()); Timber.w(message); - builder.responseStatus(GattDisconnectReason.getReasonForCode(GattDisconnectReason.GATT_CONN_NO_RESOURCES.getCode()).ordinal()); + builder.disconnectReason(GattDisconnectReason.GATT_CONN_NO_RESOURCES); getGattServer().setState(GattState.ADD_SERVICE_CHARACTERISTIC_DESCRIPTOR_FAILURE); Timber.e("The gatt service characteristic descriptor could not be added: %s", service.getUuid()); builder.gattState(getGattServer().getGattState()) diff --git a/src/main/java/com/fitbit/bluetooth/fbgatt/tx/AddGattServerServiceCharacteristicTransaction.java b/src/main/java/com/fitbit/bluetooth/fbgatt/tx/AddGattServerServiceCharacteristicTransaction.java index cf307e5d..66a9223b 100644 --- a/src/main/java/com/fitbit/bluetooth/fbgatt/tx/AddGattServerServiceCharacteristicTransaction.java +++ b/src/main/java/com/fitbit/bluetooth/fbgatt/tx/AddGattServerServiceCharacteristicTransaction.java @@ -65,7 +65,7 @@ protected void transaction(GattTransactionCallback callback) { if(null != getGattServer().getServer().getService(service.getUuid())){ if(doesCharacteristicAlreadyExistOnService(service, characteristic)) { TransactionResult.Builder builder = new TransactionResult.Builder().transactionName(getName()); - builder.responseStatus(GattDisconnectReason.getReasonForCode(GattDisconnectReason.GATT_CONN_NO_RESOURCES.getCode()).ordinal()); + builder.disconnectReason(GattDisconnectReason.GATT_CONN_NO_RESOURCES); getGattServer().setState(GattState.ADD_SERVICE_CHARACTERISTIC_FAILURE); Timber.w("The gatt service characteristic %s, is a duplicate, and could not be added to service: %s", characteristic.getUuid(), service.getUuid()); @@ -80,7 +80,7 @@ protected void transaction(GattTransactionCallback callback) { addCriticalDescriptorsIfNecessary(characteristic); if(service.addCharacteristic(characteristic)) { TransactionResult.Builder builder = new TransactionResult.Builder().transactionName(getName()); - builder.responseStatus(GattStatus.GATT_SUCCESS.getCode()); + builder.responseStatus(GattStatus.GATT_SUCCESS); getGattServer().setState(GattState.ADD_SERVICE_CHARACTERISTIC_SUCCESS); Timber.e("The gatt service characteristic could not be added: %s", service.getUuid()); builder.gattState(getGattServer().getGattState()) @@ -122,7 +122,7 @@ private void addCriticalDescriptorsIfNecessary(BluetoothGattCharacteristic chara private void respondWithError(String message, GattTransactionCallback callback) { TransactionResult.Builder builder = new TransactionResult.Builder().transactionName(getName()); Timber.w(message); - builder.responseStatus(GattDisconnectReason.getReasonForCode(GattDisconnectReason.GATT_CONN_NO_RESOURCES.getCode()).ordinal()); + builder.disconnectReason(GattDisconnectReason.GATT_CONN_NO_RESOURCES); getGattServer().setState(GattState.ADD_SERVICE_CHARACTERISTIC_DESCRIPTOR_FAILURE); Timber.e("The gatt service characteristic could not be added: %s", service.getUuid()); builder.gattState(getGattServer().getGattState()) diff --git a/src/main/java/com/fitbit/bluetooth/fbgatt/tx/AddGattServerServiceTransaction.java b/src/main/java/com/fitbit/bluetooth/fbgatt/tx/AddGattServerServiceTransaction.java index d9474124..ef5647ff 100644 --- a/src/main/java/com/fitbit/bluetooth/fbgatt/tx/AddGattServerServiceTransaction.java +++ b/src/main/java/com/fitbit/bluetooth/fbgatt/tx/AddGattServerServiceTransaction.java @@ -15,6 +15,7 @@ import com.fitbit.bluetooth.fbgatt.GattTransactionCallback; import com.fitbit.bluetooth.fbgatt.TransactionResult; import com.fitbit.bluetooth.fbgatt.util.GattDisconnectReason; +import com.fitbit.bluetooth.fbgatt.util.GattStatus; import android.bluetooth.BluetoothGatt; import android.bluetooth.BluetoothGattService; @@ -55,7 +56,7 @@ protected void transaction(GattTransactionCallback callback) { mainThreadHandler.post(() -> { TransactionResult.Builder builder = new TransactionResult.Builder().transactionName(getName()); Timber.w("The GATT Server was not started yet, did you start the gatt?"); - builder.responseStatus(GattDisconnectReason.getReasonForCode(GattDisconnectReason.GATT_CONN_NO_RESOURCES.getCode()).ordinal()); + builder.disconnectReason(GattDisconnectReason.GATT_CONN_NO_RESOURCES); getGattServer().setState(GattState.ADD_SERVICE_FAILURE); Timber.e("The gatt service could not be added: %s", service.getUuid()); builder.gattState(getGattServer().getGattState()) @@ -66,7 +67,7 @@ protected void transaction(GattTransactionCallback callback) { } else { if(doesGattServerServiceAlreadyExist(service)) { TransactionResult.Builder builder = new TransactionResult.Builder().transactionName(getName()); - builder.responseStatus(GattDisconnectReason.getReasonForCode(GattDisconnectReason.GATT_CONN_NO_RESOURCES.getCode()).ordinal()); + builder.disconnectReason(GattDisconnectReason.GATT_CONN_NO_RESOURCES); getGattServer().setState(GattState.ADD_SERVICE_FAILURE); Timber.w("The gatt service %s, is a duplicate, and could not be added to server", service.getUuid()); builder.gattState(getGattServer().getGattState()) @@ -87,7 +88,7 @@ protected void transaction(GattTransactionCallback callback) { } if(!success) { TransactionResult.Builder builder = new TransactionResult.Builder().transactionName(getName()); - builder.responseStatus(GattDisconnectReason.getReasonForCode(GattDisconnectReason.GATT_CONN_NO_RESOURCES.getCode()).ordinal()); + builder.disconnectReason(GattDisconnectReason.GATT_CONN_NO_RESOURCES); getGattServer().setState(GattState.ADD_SERVICE_FAILURE); Timber.w("The gatt service %s, failed to be added at the gatt level, try again later.", service.getUuid()); builder.gattState(getGattServer().getGattState()) @@ -102,7 +103,7 @@ protected void transaction(GattTransactionCallback callback) { @Override public void onServerServiceAdded(int status, BluetoothGattService service) { TransactionResult.Builder builder = new TransactionResult.Builder().transactionName(getName()); - builder.responseStatus(GattDisconnectReason.getReasonForCode(status).ordinal()); + builder.responseStatus(GattStatus.getStatusForCode(status)); if (status == BluetoothGatt.GATT_SUCCESS) { getGattServer().setState(GattState.ADD_SERVICE_SUCCESS); Timber.v("Gatt service was added to the gatt server successfully"); diff --git a/src/main/java/com/fitbit/bluetooth/fbgatt/tx/CreateBondTransaction.java b/src/main/java/com/fitbit/bluetooth/fbgatt/tx/CreateBondTransaction.java index bd02b0d4..32ca0d9e 100644 --- a/src/main/java/com/fitbit/bluetooth/fbgatt/tx/CreateBondTransaction.java +++ b/src/main/java/com/fitbit/bluetooth/fbgatt/tx/CreateBondTransaction.java @@ -177,7 +177,7 @@ void bondSuccess() { getConnection().setState(GattState.CREATE_BOND_SUCCESS); builder.transactionName(NAME) .gattState(getConnection().getGattState()) - .responseStatus(GattStatus.GATT_SUCCESS.ordinal()) + .responseStatus(GattStatus.GATT_SUCCESS) .resultStatus(TransactionResult.TransactionResultStatus.SUCCESS); if (callback != null) { callCallbackWithTransactionResultAndRelease(callback, builder.build()); @@ -197,7 +197,7 @@ private void bondFailure() { getConnection().setState(GattState.CREATE_BOND_FAILURE); builder.transactionName(NAME) .gattState(getConnection().getGattState()) - .responseStatus(GattStatus.GATT_INTERNAL_ERROR.ordinal()) + .responseStatus(GattStatus.GATT_INTERNAL_ERROR) .resultStatus(TransactionResult.TransactionResultStatus.FAILURE); if (callback != null) { callCallbackWithTransactionResultAndRelease(callback, builder.build()); diff --git a/src/main/java/com/fitbit/bluetooth/fbgatt/tx/GattClientDiscoverServicesTransaction.java b/src/main/java/com/fitbit/bluetooth/fbgatt/tx/GattClientDiscoverServicesTransaction.java index 968f122f..5b20c2dd 100644 --- a/src/main/java/com/fitbit/bluetooth/fbgatt/tx/GattClientDiscoverServicesTransaction.java +++ b/src/main/java/com/fitbit/bluetooth/fbgatt/tx/GattClientDiscoverServicesTransaction.java @@ -74,7 +74,7 @@ protected void transaction(GattTransactionCallback callback) { public void onServicesDiscovered(BluetoothGatt gatt, int status) { TransactionResult.Builder builder = new TransactionResult.Builder().transactionName(getName()); builder.serverServices(gatt.getServices()); - builder.responseStatus(GattStatus.getStatusForCode(status).ordinal()); + builder.responseStatus(GattStatus.getStatusForCode(status)); if(status == BluetoothGatt.GATT_SUCCESS) { getConnection().setState(GattState.DISCOVERY_SUCCESS); builder.resultStatus(TransactionResult.TransactionResultStatus.SUCCESS); diff --git a/src/main/java/com/fitbit/bluetooth/fbgatt/tx/GattConnectTransaction.java b/src/main/java/com/fitbit/bluetooth/fbgatt/tx/GattConnectTransaction.java index fcc2b854..e75b3664 100644 --- a/src/main/java/com/fitbit/bluetooth/fbgatt/tx/GattConnectTransaction.java +++ b/src/main/java/com/fitbit/bluetooth/fbgatt/tx/GattConnectTransaction.java @@ -56,7 +56,7 @@ protected void transaction(GattTransactionCallback callback) { private void failWithNoResources(){ TransactionResult.Builder builder = new TransactionResult.Builder().transactionName(getName()); - builder.responseStatus(GattStatus.GATT_NO_RESOURCES.getCode()); + builder.responseStatus(GattStatus.GATT_NO_RESOURCES); getConnection().setState(GattState.DISCONNECTED); builder.rssi(getConnection().getDevice().getRssi()) .gattState(getConnection().getGattState()) @@ -77,7 +77,7 @@ public FitbitBluetoothDevice getDevice() { @Override public void onConnectionStateChange(BluetoothGatt gatt, int status, int newState) { TransactionResult.Builder builder = new TransactionResult.Builder().transactionName(getName()); - builder.responseStatus(GattDisconnectReason.getReasonForCode(newState).ordinal()); + builder.disconnectReason(GattDisconnectReason.getReasonForCode(status)); if(newState == BluetoothProfile.STATE_DISCONNECTED) { getConnection().setState(GattState.DISCONNECTED); builder.rssi(getConnection().getDevice().getRssi()) diff --git a/src/main/java/com/fitbit/bluetooth/fbgatt/tx/GattDisconnectTransaction.java b/src/main/java/com/fitbit/bluetooth/fbgatt/tx/GattDisconnectTransaction.java index 80727d3a..e42fd052 100644 --- a/src/main/java/com/fitbit/bluetooth/fbgatt/tx/GattDisconnectTransaction.java +++ b/src/main/java/com/fitbit/bluetooth/fbgatt/tx/GattDisconnectTransaction.java @@ -82,7 +82,7 @@ public String getName() { @Override public void onConnectionStateChange(BluetoothGatt gatt, int status, int newState) { TransactionResult.Builder builder = new TransactionResult.Builder().transactionName(getName()); - builder.responseStatus(GattDisconnectReason.getReasonForCode(status).ordinal()); + builder.disconnectReason(GattDisconnectReason.getReasonForCode(status)); if(status != BluetoothGatt.GATT_SUCCESS) { Timber.e("[%s] The gatt connection changed in error", getDevice()); } diff --git a/src/main/java/com/fitbit/bluetooth/fbgatt/tx/GattServerDisconnectTransaction.java b/src/main/java/com/fitbit/bluetooth/fbgatt/tx/GattServerDisconnectTransaction.java index f124a272..04d3f88e 100644 --- a/src/main/java/com/fitbit/bluetooth/fbgatt/tx/GattServerDisconnectTransaction.java +++ b/src/main/java/com/fitbit/bluetooth/fbgatt/tx/GattServerDisconnectTransaction.java @@ -55,10 +55,10 @@ protected void transaction(GattTransactionCallback callback) { @Override public void onServerConnectionStateChange(BluetoothDevice device, int status, int newState) { - Timber.d("[%s] Gatt State %s, Disconnect Reason : %s", getDevice(), GattStatus.values()[status].name(), - GattDisconnectReason.getReasonForCode(newState)); + Timber.d("[%s] Disconnect Reason %s, New State : %s", getDevice(), GattDisconnectReason.getReasonForCode(status).name(), + newState == BluetoothProfile.STATE_CONNECTED ? "Connected" : "Disconnected"); TransactionResult.Builder builder = new TransactionResult.Builder().transactionName(getName()); - builder.responseStatus(GattDisconnectReason.getReasonForCode(status).ordinal()); + builder.disconnectReason(GattDisconnectReason.getReasonForCode(status)); if (status == BluetoothGatt.GATT_SUCCESS) { if (newState == BluetoothProfile.STATE_DISCONNECTED) { getGattServer().setState(GattState.DISCONNECTED); diff --git a/src/main/java/com/fitbit/bluetooth/fbgatt/tx/NotifyGattServerCharacteristicTransaction.java b/src/main/java/com/fitbit/bluetooth/fbgatt/tx/NotifyGattServerCharacteristicTransaction.java index e9d61312..95effb5f 100644 --- a/src/main/java/com/fitbit/bluetooth/fbgatt/tx/NotifyGattServerCharacteristicTransaction.java +++ b/src/main/java/com/fitbit/bluetooth/fbgatt/tx/NotifyGattServerCharacteristicTransaction.java @@ -87,15 +87,15 @@ protected void transaction(GattTransactionCallback callback) { } @Override - public void onServerNotificationSent(BluetoothDevice device, int status) { - Timber.d("[%s] Notification sent response with status: %s", getDevice(), GattStatus.values()[status].name()); + public void onServerNotificationSent(BluetoothDevice device, GattStatus status) { + Timber.d("[%s] Notification sent response with status: %s", getDevice(), status.name()); TransactionResult.Builder builder = new TransactionResult.Builder().transactionName(getName()); - builder.responseStatus(GattDisconnectReason.getReasonForCode(status).ordinal()); + builder.responseStatus(status); if(this.characteristic != null) { builder.characteristicUuid(this.characteristic.getUuid()); builder.data(this.characteristic.getValue()); } - if(status == BluetoothGatt.GATT_SUCCESS) { + if(status == GattStatus.GATT_SUCCESS) { getGattServer().setState(GattState.NOTIFY_CHARACTERISTIC_SUCCESS); builder.resultStatus(TransactionResult.TransactionResultStatus.SUCCESS); callCallbackWithTransactionResultAndRelease(callback, builder.build()); diff --git a/src/main/java/com/fitbit/bluetooth/fbgatt/tx/ReadGattCharacteristicTransaction.java b/src/main/java/com/fitbit/bluetooth/fbgatt/tx/ReadGattCharacteristicTransaction.java index 25660e45..ace31a2e 100644 --- a/src/main/java/com/fitbit/bluetooth/fbgatt/tx/ReadGattCharacteristicTransaction.java +++ b/src/main/java/com/fitbit/bluetooth/fbgatt/tx/ReadGattCharacteristicTransaction.java @@ -18,6 +18,7 @@ import com.fitbit.bluetooth.fbgatt.btcopies.BluetoothGattCharacteristicCopy; import com.fitbit.bluetooth.fbgatt.strategies.Strategy; import com.fitbit.bluetooth.fbgatt.util.GattDisconnectReason; +import com.fitbit.bluetooth.fbgatt.util.GattStatus; import android.bluetooth.BluetoothGatt; import android.bluetooth.BluetoothGattCharacteristic; @@ -95,7 +96,7 @@ public String getName() { @Override public void onCharacteristicRead(BluetoothGatt gatt, BluetoothGattCharacteristicCopy characteristic, int status) { TransactionResult.Builder builder = new TransactionResult.Builder().transactionName(getName()); - builder.responseStatus(GattDisconnectReason.getReasonForCode(status).ordinal()); + builder.responseStatus(GattStatus.getStatusForCode(status)); if(status == BluetoothGatt.GATT_SUCCESS) { getConnection().setState(GattState.READ_CHARACTERISTIC_SUCCESS); builder.data(characteristic.getValue()) diff --git a/src/main/java/com/fitbit/bluetooth/fbgatt/tx/ReadGattClientPhyTransaction.java b/src/main/java/com/fitbit/bluetooth/fbgatt/tx/ReadGattClientPhyTransaction.java index 593339b7..78a6b9e9 100644 --- a/src/main/java/com/fitbit/bluetooth/fbgatt/tx/ReadGattClientPhyTransaction.java +++ b/src/main/java/com/fitbit/bluetooth/fbgatt/tx/ReadGattClientPhyTransaction.java @@ -16,6 +16,7 @@ import com.fitbit.bluetooth.fbgatt.GattTransactionCallback; import com.fitbit.bluetooth.fbgatt.TransactionResult; import com.fitbit.bluetooth.fbgatt.util.GattDisconnectReason; +import com.fitbit.bluetooth.fbgatt.util.GattStatus; import android.bluetooth.BluetoothGatt; @@ -69,7 +70,7 @@ protected void transaction(GattTransactionCallback callback) { public void onPhyRead(BluetoothGatt gatt, int txPhy, int rxPhy, int status) { Timber.i("[%s] The actual txPhy: %d, rxPhy: %d", getDevice(), txPhy, rxPhy); TransactionResult.Builder builder = new TransactionResult.Builder().transactionName(getName()); - builder.responseStatus(GattDisconnectReason.getReasonForCode(status).ordinal()); + builder.responseStatus(GattStatus.getStatusForCode(status)); if(status == BluetoothGatt.GATT_SUCCESS) { getConnection().setState(GattState.READ_CURRENT_PHY_SUCCESS); builder.resultStatus(TransactionResult.TransactionResultStatus.SUCCESS) diff --git a/src/main/java/com/fitbit/bluetooth/fbgatt/tx/ReadGattDescriptorTransaction.java b/src/main/java/com/fitbit/bluetooth/fbgatt/tx/ReadGattDescriptorTransaction.java index 33de3017..30444315 100644 --- a/src/main/java/com/fitbit/bluetooth/fbgatt/tx/ReadGattDescriptorTransaction.java +++ b/src/main/java/com/fitbit/bluetooth/fbgatt/tx/ReadGattDescriptorTransaction.java @@ -18,6 +18,7 @@ import com.fitbit.bluetooth.fbgatt.btcopies.BluetoothGattDescriptorCopy; import com.fitbit.bluetooth.fbgatt.strategies.Strategy; import com.fitbit.bluetooth.fbgatt.util.GattDisconnectReason; +import com.fitbit.bluetooth.fbgatt.util.GattStatus; import android.bluetooth.BluetoothGatt; import android.bluetooth.BluetoothGattDescriptor; @@ -96,7 +97,7 @@ public String getName() { @Override public void onDescriptorRead(BluetoothGatt gatt, BluetoothGattDescriptorCopy descriptor, int status) { TransactionResult.Builder builder = new TransactionResult.Builder().transactionName(getName()); - builder.responseStatus(GattDisconnectReason.getReasonForCode(status).ordinal()); + builder.responseStatus(GattStatus.getStatusForCode(status)); if(status == BluetoothGatt.GATT_SUCCESS) { getConnection().setState(GattState.READ_DESCRIPTOR_SUCCESS); builder.resultStatus(TransactionResult.TransactionResultStatus.SUCCESS) diff --git a/src/main/java/com/fitbit/bluetooth/fbgatt/tx/ReadGattServerCharacteristicDescriptorValueTransaction.java b/src/main/java/com/fitbit/bluetooth/fbgatt/tx/ReadGattServerCharacteristicDescriptorValueTransaction.java index 9dd4ce06..07c43821 100644 --- a/src/main/java/com/fitbit/bluetooth/fbgatt/tx/ReadGattServerCharacteristicDescriptorValueTransaction.java +++ b/src/main/java/com/fitbit/bluetooth/fbgatt/tx/ReadGattServerCharacteristicDescriptorValueTransaction.java @@ -69,7 +69,7 @@ protected void transaction(GattTransactionCallback callback) { byte[] value = localDescriptor.getValue(); if(value != null) { // success - builder.responseStatus(GattStatus.GATT_SUCCESS.ordinal()); + builder.responseStatus(GattStatus.GATT_SUCCESS); getGattServer().setState(GattState.READ_DESCRIPTOR_SUCCESS); builder.data(localCharacteristic.getValue()) .gattState(getGattServer().getGattState()) @@ -88,7 +88,7 @@ protected void transaction(GattTransactionCallback callback) { private void respondWithError(@Nullable BluetoothGattCharacteristic characteristic, @Nullable BluetoothGattDescriptor descriptor, GattTransactionCallback callback) { TransactionResult.Builder builder = new TransactionResult.Builder().transactionName(getName()); - builder.responseStatus(GattStatus.GATT_ERROR.ordinal()); + builder.responseStatus(GattStatus.GATT_ERROR); getGattServer().setState(GattState.READ_DESCRIPTOR_FAILURE); builder.data(descriptor == null ? new byte[0] : descriptor.getValue()) .gattState(getGattServer().getGattState()) diff --git a/src/main/java/com/fitbit/bluetooth/fbgatt/tx/ReadGattServerCharacteristicValueTransaction.java b/src/main/java/com/fitbit/bluetooth/fbgatt/tx/ReadGattServerCharacteristicValueTransaction.java index a909a8e3..0e8c7868 100644 --- a/src/main/java/com/fitbit/bluetooth/fbgatt/tx/ReadGattServerCharacteristicValueTransaction.java +++ b/src/main/java/com/fitbit/bluetooth/fbgatt/tx/ReadGattServerCharacteristicValueTransaction.java @@ -58,7 +58,7 @@ protected void transaction(GattTransactionCallback callback) { byte[] value = localCharacteristic.getValue(); if(null != value) { // success - builder.responseStatus(GattStatus.GATT_SUCCESS.ordinal()); + builder.responseStatus(GattStatus.GATT_SUCCESS); getGattServer().setState(GattState.READ_CHARACTERISTIC_SUCCESS); builder.data(value) .gattState(getGattServer().getGattState()) @@ -75,7 +75,7 @@ protected void transaction(GattTransactionCallback callback) { private void respondWithError(@Nullable BluetoothGattCharacteristic characteristic, GattTransactionCallback callback) { TransactionResult.Builder builder = new TransactionResult.Builder().transactionName(getName()); - builder.responseStatus(GattStatus.GATT_ERROR.ordinal()); + builder.responseStatus(GattStatus.GATT_ERROR); getGattServer().setState(GattState.READ_CHARACTERISTIC_FAILURE); builder.data(characteristic == null ? new byte[0] : characteristic.getValue()) .gattState(getGattServer().getGattState()) diff --git a/src/main/java/com/fitbit/bluetooth/fbgatt/tx/ReadRssiTransaction.java b/src/main/java/com/fitbit/bluetooth/fbgatt/tx/ReadRssiTransaction.java index 6b76df10..08a63085 100644 --- a/src/main/java/com/fitbit/bluetooth/fbgatt/tx/ReadRssiTransaction.java +++ b/src/main/java/com/fitbit/bluetooth/fbgatt/tx/ReadRssiTransaction.java @@ -18,6 +18,7 @@ import com.fitbit.bluetooth.fbgatt.GattTransactionCallback; import com.fitbit.bluetooth.fbgatt.TransactionResult; import com.fitbit.bluetooth.fbgatt.util.GattDisconnectReason; +import com.fitbit.bluetooth.fbgatt.util.GattStatus; /** * To read the RSSI from a remote device @@ -61,7 +62,7 @@ protected void transaction(GattTransactionCallback callback) { @Override public void onReadRemoteRssi(BluetoothGatt gatt, int rssi, int status) { TransactionResult.Builder builder = new TransactionResult.Builder().transactionName(getName()); - builder.responseStatus(GattDisconnectReason.getReasonForCode(status).ordinal()); + builder.responseStatus(GattStatus.getStatusForCode(status)); if(status == BluetoothGatt.GATT_SUCCESS) { getConnection().setState(GattState.READ_RSSI_SUCCESS); getConnection().getDevice().setRssi(rssi); diff --git a/src/main/java/com/fitbit/bluetooth/fbgatt/tx/RequestGattClientPhyChangeTransaction.java b/src/main/java/com/fitbit/bluetooth/fbgatt/tx/RequestGattClientPhyChangeTransaction.java index 4a522fa6..14566241 100644 --- a/src/main/java/com/fitbit/bluetooth/fbgatt/tx/RequestGattClientPhyChangeTransaction.java +++ b/src/main/java/com/fitbit/bluetooth/fbgatt/tx/RequestGattClientPhyChangeTransaction.java @@ -16,6 +16,7 @@ import com.fitbit.bluetooth.fbgatt.GattTransactionCallback; import com.fitbit.bluetooth.fbgatt.TransactionResult; import com.fitbit.bluetooth.fbgatt.util.GattDisconnectReason; +import com.fitbit.bluetooth.fbgatt.util.GattStatus; import android.bluetooth.BluetoothGatt; @@ -78,7 +79,7 @@ protected void transaction(GattTransactionCallback callback) { @Override public void onPhyUpdate(BluetoothGatt gatt, int txPhy, int rxPhy, int status) { TransactionResult.Builder builder = new TransactionResult.Builder().transactionName(getName()); - builder.responseStatus(GattDisconnectReason.getReasonForCode(status).ordinal()); + builder.responseStatus(GattStatus.getStatusForCode(status)); if(status == BluetoothGatt.GATT_SUCCESS) { getConnection().setState(GattState.REQUEST_PHY_CHANGE_SUCCESS); builder.resultStatus(TransactionResult.TransactionResultStatus.SUCCESS) diff --git a/src/main/java/com/fitbit/bluetooth/fbgatt/tx/RequestGattConnectionIntervalTransaction.java b/src/main/java/com/fitbit/bluetooth/fbgatt/tx/RequestGattConnectionIntervalTransaction.java index 39cc33cf..4513a82c 100644 --- a/src/main/java/com/fitbit/bluetooth/fbgatt/tx/RequestGattConnectionIntervalTransaction.java +++ b/src/main/java/com/fitbit/bluetooth/fbgatt/tx/RequestGattConnectionIntervalTransaction.java @@ -83,7 +83,7 @@ protected void transaction(GattTransactionCallback callback) { } if(!success) { getConnection().setState(GattState.REQUEST_CONNECTION_INTERVAL_FAILURE); - builder.responseStatus(GattStatus.GATT_NO_RESOURCES.getCode()); + builder.responseStatus(GattStatus.GATT_NO_RESOURCES); builder.gattState(getConnection().getGattState()); mainThreadHandler.post(() -> { callCallbackWithTransactionResultAndRelease(callback, builder.build()); @@ -102,7 +102,7 @@ protected void transaction(GattTransactionCallback callback) { } } else { getConnection().setState(GattState.REQUEST_CONNECTION_INTERVAL_FAILURE); - builder.responseStatus(GattStatus.GATT_NO_RESOURCES.getCode()); + builder.responseStatus(GattStatus.GATT_NO_RESOURCES); builder.gattState(getConnection().getGattState()); mainThreadHandler.post(() -> { callCallbackWithTransactionResultAndRelease(callback, builder.build()); diff --git a/src/main/java/com/fitbit/bluetooth/fbgatt/tx/RequestMtuGattTransaction.java b/src/main/java/com/fitbit/bluetooth/fbgatt/tx/RequestMtuGattTransaction.java index 4dd50c14..62412287 100644 --- a/src/main/java/com/fitbit/bluetooth/fbgatt/tx/RequestMtuGattTransaction.java +++ b/src/main/java/com/fitbit/bluetooth/fbgatt/tx/RequestMtuGattTransaction.java @@ -16,6 +16,7 @@ import com.fitbit.bluetooth.fbgatt.GattTransactionCallback; import com.fitbit.bluetooth.fbgatt.TransactionResult; import com.fitbit.bluetooth.fbgatt.util.GattDisconnectReason; +import com.fitbit.bluetooth.fbgatt.util.GattStatus; import android.bluetooth.BluetoothGatt; import androidx.annotation.Nullable; @@ -77,7 +78,7 @@ protected void transaction(GattTransactionCallback callback) { @Override public void onMtuChanged(BluetoothGatt gatt, int mtu, int status) { TransactionResult.Builder builder = new TransactionResult.Builder().transactionName(getName()); - builder.responseStatus(GattDisconnectReason.getReasonForCode(status).ordinal()); + builder.responseStatus(GattStatus.getStatusForCode(status)); if(status == BluetoothGatt.GATT_SUCCESS) { getConnection().setState(GattState.REQUEST_MTU_SUCCESS); builder.resultStatus(TransactionResult.TransactionResultStatus.SUCCESS) diff --git a/src/main/java/com/fitbit/bluetooth/fbgatt/tx/SendGattServerResponseTransaction.java b/src/main/java/com/fitbit/bluetooth/fbgatt/tx/SendGattServerResponseTransaction.java index d35569b4..51a2e931 100644 --- a/src/main/java/com/fitbit/bluetooth/fbgatt/tx/SendGattServerResponseTransaction.java +++ b/src/main/java/com/fitbit/bluetooth/fbgatt/tx/SendGattServerResponseTransaction.java @@ -73,7 +73,7 @@ protected void transaction(GattTransactionCallback callback) { getGattServer().setState(GattState.SEND_SERVER_RESPONSE_SUCCESS); builder.gattState(getGattServer().getGattState()); builder.resultStatus(TransactionResult.TransactionResultStatus.SUCCESS); - builder.responseStatus(GattStatus.getStatusForCode(status).ordinal()); + builder.responseStatus(GattStatus.getStatusForCode(status)); builder.data(value). requestId(requestId). offset(offset); @@ -85,7 +85,7 @@ protected void transaction(GattTransactionCallback callback) { getGattServer().setState(GattState.SEND_SERVER_RESPONSE_FAILURE); builder.gattState(getGattServer().getGattState()); builder.resultStatus(TransactionResult.TransactionResultStatus.FAILURE); - builder.responseStatus(GattStatus.getStatusForCode(status).ordinal()); + builder.responseStatus(GattStatus.getStatusForCode(status)); builder.data(value). requestId(requestId). offset(offset); diff --git a/src/main/java/com/fitbit/bluetooth/fbgatt/tx/SubscribeToCharacteristicNotificationsTransaction.java b/src/main/java/com/fitbit/bluetooth/fbgatt/tx/SubscribeToCharacteristicNotificationsTransaction.java index 44d70747..5ed802b7 100644 --- a/src/main/java/com/fitbit/bluetooth/fbgatt/tx/SubscribeToCharacteristicNotificationsTransaction.java +++ b/src/main/java/com/fitbit/bluetooth/fbgatt/tx/SubscribeToCharacteristicNotificationsTransaction.java @@ -57,7 +57,7 @@ protected void transaction(GattTransactionCallback callback) { getConnection().setState(GattState.ENABLE_CHARACTERISTIC_NOTIFICATION_FAILURE); builder.characteristicUuid(characteristic.getUuid()) .gattState(getConnection().getGattState()) - .responseStatus(GattStatus.GATT_UNKNOWN.ordinal()) + .responseStatus(GattStatus.GATT_UNKNOWN) .resultStatus(TransactionResult.TransactionResultStatus.FAILURE) .data(characteristic.getValue()) .serviceUuid(characteristic.getService().getUuid()); @@ -70,14 +70,14 @@ protected void transaction(GattTransactionCallback callback) { builder.characteristicUuid(characteristic.getUuid()) .gattState(getConnection().getGattState()) .resultStatus(TransactionResult.TransactionResultStatus.SUCCESS) - .responseStatus(GattStatus.GATT_SUCCESS.ordinal()) + .responseStatus(GattStatus.GATT_SUCCESS) .data(characteristic.getValue()) .serviceUuid(characteristic.getService().getUuid()); } else { getConnection().setState(GattState.ENABLE_CHARACTERISTIC_NOTIFICATION_FAILURE); builder.characteristicUuid(characteristic.getUuid()) .gattState(getConnection().getGattState()) - .responseStatus(GattStatus.GATT_UNKNOWN.ordinal()) + .responseStatus(GattStatus.GATT_UNKNOWN) .resultStatus(TransactionResult.TransactionResultStatus.FAILURE) .data(characteristic.getValue()) .serviceUuid(characteristic.getService().getUuid()); @@ -110,11 +110,10 @@ protected void transaction(GattTransactionCallback callback) { // we want to apply this strategy to every phone, so we will provide an empty target android // device getConnection().setState(GattState.ENABLE_CHARACTERISTIC_NOTIFICATION_FAILURE); - builder.responseStatus(GattDisconnectReason.getReasonForCode(GattStatus.GATT_UNKNOWN.getCode()).ordinal()) - .characteristicUuid(characteristic.getUuid()) + builder.characteristicUuid(characteristic.getUuid()) .resultStatus(TransactionResult.TransactionResultStatus.FAILURE) .gattState(getConnection().getGattState()) - .responseStatus(GattStatus.GATT_UNKNOWN.ordinal()) + .responseStatus(GattStatus.GATT_UNKNOWN) .data(characteristic.getValue()) .serviceUuid(characteristic.getService().getUuid()); mainThreadHandler.post(() -> { diff --git a/src/main/java/com/fitbit/bluetooth/fbgatt/tx/UnSubscribeToGattCharacteristicNotificationsTransaction.java b/src/main/java/com/fitbit/bluetooth/fbgatt/tx/UnSubscribeToGattCharacteristicNotificationsTransaction.java index 360394df..7a470f82 100644 --- a/src/main/java/com/fitbit/bluetooth/fbgatt/tx/UnSubscribeToGattCharacteristicNotificationsTransaction.java +++ b/src/main/java/com/fitbit/bluetooth/fbgatt/tx/UnSubscribeToGattCharacteristicNotificationsTransaction.java @@ -108,11 +108,10 @@ protected void transaction(GattTransactionCallback callback) { } else { // no need for strategy, it failed. getConnection().setState(GattState.DISABLE_CHARACTERISTIC_NOTIFICATION_FAILURE); - builder.responseStatus(GattDisconnectReason.getReasonForCode(GattStatus.GATT_UNKNOWN.getCode()).ordinal()) - .characteristicUuid(characteristic.getUuid()) + builder.characteristicUuid(characteristic.getUuid()) .resultStatus(TransactionResult.TransactionResultStatus.FAILURE) .gattState(getConnection().getGattState()) - .responseStatus(GattStatus.GATT_UNKNOWN.ordinal()) + .responseStatus(GattStatus.GATT_UNKNOWN) .data(characteristic.getValue()) .serviceUuid(characteristic.getService().getUuid()); mainThreadHandler.post(() -> { diff --git a/src/main/java/com/fitbit/bluetooth/fbgatt/tx/WriteGattCharacteristicTransaction.java b/src/main/java/com/fitbit/bluetooth/fbgatt/tx/WriteGattCharacteristicTransaction.java index b5888bfe..312091e8 100644 --- a/src/main/java/com/fitbit/bluetooth/fbgatt/tx/WriteGattCharacteristicTransaction.java +++ b/src/main/java/com/fitbit/bluetooth/fbgatt/tx/WriteGattCharacteristicTransaction.java @@ -18,6 +18,7 @@ import com.fitbit.bluetooth.fbgatt.btcopies.BluetoothGattCharacteristicCopy; import com.fitbit.bluetooth.fbgatt.strategies.Strategy; import com.fitbit.bluetooth.fbgatt.util.GattDisconnectReason; +import com.fitbit.bluetooth.fbgatt.util.GattStatus; import android.bluetooth.BluetoothGatt; import android.bluetooth.BluetoothGattCharacteristic; @@ -93,7 +94,7 @@ protected void transaction(GattTransactionCallback callback) { @Override public void onCharacteristicWrite(BluetoothGatt gatt, BluetoothGattCharacteristicCopy characteristic, int status) { TransactionResult.Builder builder = new TransactionResult.Builder().transactionName(getName()); - builder.responseStatus(GattDisconnectReason.getReasonForCode(status).ordinal()); + builder.responseStatus(GattStatus.getStatusForCode(status)); if (status == BluetoothGatt.GATT_SUCCESS) { getConnection().setState(GattState.WRITE_CHARACTERISTIC_SUCCESS); builder.data(characteristic.getValue()) diff --git a/src/main/java/com/fitbit/bluetooth/fbgatt/tx/WriteGattDescriptorTransaction.java b/src/main/java/com/fitbit/bluetooth/fbgatt/tx/WriteGattDescriptorTransaction.java index f4050537..ba5c1831 100644 --- a/src/main/java/com/fitbit/bluetooth/fbgatt/tx/WriteGattDescriptorTransaction.java +++ b/src/main/java/com/fitbit/bluetooth/fbgatt/tx/WriteGattDescriptorTransaction.java @@ -18,6 +18,7 @@ import com.fitbit.bluetooth.fbgatt.btcopies.BluetoothGattDescriptorCopy; import com.fitbit.bluetooth.fbgatt.strategies.Strategy; import com.fitbit.bluetooth.fbgatt.util.GattDisconnectReason; +import com.fitbit.bluetooth.fbgatt.util.GattStatus; import android.bluetooth.BluetoothGatt; import android.bluetooth.BluetoothGattDescriptor; @@ -92,7 +93,7 @@ protected void transaction(GattTransactionCallback callback) { @Override public void onDescriptorWrite(BluetoothGatt gatt, BluetoothGattDescriptorCopy descriptor, int status) { TransactionResult.Builder builder = new TransactionResult.Builder().transactionName(getName()); - builder.responseStatus(GattDisconnectReason.getReasonForCode(status).ordinal()); + builder.responseStatus(GattStatus.getStatusForCode(status)); if (status == BluetoothGatt.GATT_SUCCESS) { getConnection().setState(GattState.WRITE_DESCRIPTOR_SUCCESS); builder.descriptorUuid(descriptor.getUuid()) diff --git a/src/main/java/com/fitbit/bluetooth/fbgatt/tx/WriteGattServerCharacteristicDescriptorValueTransaction.java b/src/main/java/com/fitbit/bluetooth/fbgatt/tx/WriteGattServerCharacteristicDescriptorValueTransaction.java index 806cec6c..48e73e28 100644 --- a/src/main/java/com/fitbit/bluetooth/fbgatt/tx/WriteGattServerCharacteristicDescriptorValueTransaction.java +++ b/src/main/java/com/fitbit/bluetooth/fbgatt/tx/WriteGattServerCharacteristicDescriptorValueTransaction.java @@ -76,7 +76,7 @@ protected void transaction(GattTransactionCallback callback) { try { if (localDescriptor.setValue(data)) { // success - builder.responseStatus(GattStatus.GATT_SUCCESS.ordinal()); + builder.responseStatus(GattStatus.GATT_SUCCESS); getGattServer().setState(GattState.WRITE_DESCRIPTOR_SUCCESS); builder.data(localCharacteristic.getValue()) .gattState(getGattServer().getGattState()) @@ -104,7 +104,7 @@ protected void transaction(GattTransactionCallback callback) { private void respondWithError(@Nullable BluetoothGattCharacteristic characteristic, @Nullable BluetoothGattDescriptor descriptor, GattTransactionCallback callback) { TransactionResult.Builder builder = new TransactionResult.Builder().transactionName(getName()); - builder.responseStatus(GattStatus.GATT_ERROR.ordinal()); + builder.responseStatus(GattStatus.GATT_ERROR); getGattServer().setState(GattState.WRITE_DESCRIPTOR_FAILURE); builder.data(descriptor == null ? new byte[0] : descriptor.getValue()) .gattState(getGattServer().getGattState()) diff --git a/src/main/java/com/fitbit/bluetooth/fbgatt/tx/WriteGattServerCharacteristicValueTransaction.java b/src/main/java/com/fitbit/bluetooth/fbgatt/tx/WriteGattServerCharacteristicValueTransaction.java index 3e7d3ff4..d023d20c 100644 --- a/src/main/java/com/fitbit/bluetooth/fbgatt/tx/WriteGattServerCharacteristicValueTransaction.java +++ b/src/main/java/com/fitbit/bluetooth/fbgatt/tx/WriteGattServerCharacteristicValueTransaction.java @@ -65,7 +65,7 @@ protected void transaction(GattTransactionCallback callback) { try { if (localCharacteristic.setValue(data)) { // success - builder.responseStatus(GattStatus.GATT_SUCCESS.ordinal()); + builder.responseStatus(GattStatus.GATT_SUCCESS); getGattServer().setState(GattState.WRITE_CHARACTERISTIC_SUCCESS); builder.data(localCharacteristic.getValue()) .gattState(getGattServer().getGattState()) @@ -92,7 +92,7 @@ protected void transaction(GattTransactionCallback callback) { private void respondWithError(@Nullable BluetoothGattCharacteristic characteristic, GattTransactionCallback callback) { TransactionResult.Builder builder = new TransactionResult.Builder().transactionName(getName()); - builder.responseStatus(GattStatus.GATT_ERROR.ordinal()); + builder.responseStatus(GattStatus.GATT_ERROR); getGattServer().setState(GattState.WRITE_CHARACTERISTIC_FAILURE); builder.data(characteristic == null ? new byte[0] : characteristic.getValue()) .gattState(getGattServer().getGattState()) diff --git a/src/main/java/com/fitbit/bluetooth/fbgatt/tx/mocks/GattClientDiscoverMockServicesTransaction.java b/src/main/java/com/fitbit/bluetooth/fbgatt/tx/mocks/GattClientDiscoverMockServicesTransaction.java index d9466646..4d68eb9c 100644 --- a/src/main/java/com/fitbit/bluetooth/fbgatt/tx/mocks/GattClientDiscoverMockServicesTransaction.java +++ b/src/main/java/com/fitbit/bluetooth/fbgatt/tx/mocks/GattClientDiscoverMockServicesTransaction.java @@ -47,13 +47,13 @@ protected void transaction(GattTransactionCallback callback) { TransactionResult.Builder builder = new TransactionResult.Builder().transactionName(getName()); if(shouldFail) { getConnection().setState(GattState.DISCOVERY_FAILURE); - builder.responseStatus(GattStatus.GATT_ERROR.ordinal()); + builder.responseStatus(GattStatus.GATT_ERROR); builder.resultStatus(TransactionResult.TransactionResultStatus.FAILURE); builder.gattState(getConnection().getGattState()); callCallbackWithTransactionResultAndRelease(callback, builder.build()); } else { getConnection().setState(GattState.DISCOVERY_FAILURE); - builder.responseStatus(GattStatus.GATT_SUCCESS.ordinal()); + builder.responseStatus(GattStatus.GATT_SUCCESS); builder.resultStatus(TransactionResult.TransactionResultStatus.SUCCESS); builder.serverServices(this.services); builder.gattState(getConnection().getGattState()); diff --git a/src/main/java/com/fitbit/bluetooth/fbgatt/tx/mocks/GattConnectMockTransaction.java b/src/main/java/com/fitbit/bluetooth/fbgatt/tx/mocks/GattConnectMockTransaction.java index a8c7d7af..f90bfcfa 100644 --- a/src/main/java/com/fitbit/bluetooth/fbgatt/tx/mocks/GattConnectMockTransaction.java +++ b/src/main/java/com/fitbit/bluetooth/fbgatt/tx/mocks/GattConnectMockTransaction.java @@ -49,17 +49,16 @@ protected void transaction(GattTransactionCallback callback) { getConnection().setState(GattState.CONNECTING); mainHandler.postDelayed(() -> { TransactionResult.Builder builder = new TransactionResult.Builder().transactionName(getName()); - builder.responseStatus(GattDisconnectReason.getReasonForCode(shouldFail ? BluetoothGatt.GATT_FAILURE : BluetoothGatt.GATT_SUCCESS).ordinal()); + builder.responseStatus(shouldFail ? GattStatus.GATT_UNKNOWN : GattStatus.GATT_SUCCESS); if(shouldFail) { getConnection().setState(GattState.DISCONNECTED); - builder.responseStatus(GattDisconnectReason.GATT_CONN_TIMEOUT.getCode()) + builder.disconnectReason(GattDisconnectReason.GATT_CONN_TIMEOUT) .gattState(getConnection().getGattState()) .resultStatus(TransactionResult.TransactionResultStatus.FAILURE); callCallbackWithTransactionResultAndRelease(callback, builder.build()); } else { getConnection().setState(GattState.CONNECTED); builder.gattState(getConnection().getGattState()) - .responseStatus(0) .resultStatus(TransactionResult.TransactionResultStatus.SUCCESS); callCallbackWithTransactionResultAndRelease(callback, builder.build()); getConnection().setState(GattState.IDLE); @@ -69,7 +68,7 @@ protected void transaction(GattTransactionCallback callback) { private void failWithNoResources(){ TransactionResult.Builder builder = new TransactionResult.Builder().transactionName(getName()); - builder.responseStatus(GattStatus.GATT_NO_RESOURCES.getCode()); + builder.responseStatus(GattStatus.GATT_NO_RESOURCES); getConnection().setState(GattState.DISCONNECTED); builder.rssi(getConnection().getDevice().getRssi()) .gattState(getConnection().getGattState()) diff --git a/src/main/java/com/fitbit/bluetooth/fbgatt/tx/mocks/GattDisconnectMockTransaction.java b/src/main/java/com/fitbit/bluetooth/fbgatt/tx/mocks/GattDisconnectMockTransaction.java index 8cc5729d..5ede0f70 100644 --- a/src/main/java/com/fitbit/bluetooth/fbgatt/tx/mocks/GattDisconnectMockTransaction.java +++ b/src/main/java/com/fitbit/bluetooth/fbgatt/tx/mocks/GattDisconnectMockTransaction.java @@ -17,6 +17,7 @@ import com.fitbit.bluetooth.fbgatt.TransactionResult; import com.fitbit.bluetooth.fbgatt.tx.GattDisconnectTransaction; import com.fitbit.bluetooth.fbgatt.util.GattDisconnectReason; +import com.fitbit.bluetooth.fbgatt.util.GattStatus; import java.util.concurrent.TimeUnit; @@ -45,17 +46,16 @@ protected void transaction(GattTransactionCallback callback) { this.callback = callback; mainHandler.postDelayed(() -> { TransactionResult.Builder builder = new TransactionResult.Builder().transactionName(getName()); - builder.responseStatus(GattDisconnectReason.getReasonForCode(shouldFail ? BluetoothGatt.GATT_FAILURE : BluetoothGatt.GATT_SUCCESS).ordinal()); + builder.responseStatus(shouldFail ? GattStatus.GATT_UNKNOWN : GattStatus.GATT_SUCCESS); if(shouldFail) { getConnection().setState(GattState.CONNECTED); - builder.responseStatus(GattDisconnectReason.GATT_CONN_TIMEOUT.getCode()) + builder.disconnectReason(GattDisconnectReason.GATT_CONN_TIMEOUT) .gattState(getConnection().getGattState()) .resultStatus(TransactionResult.TransactionResultStatus.FAILURE); callCallbackWithTransactionResultAndRelease(callback, builder.build()); } else { getConnection().setState(GattState.DISCONNECTED); builder.gattState(getConnection().getGattState()) - .responseStatus(0) .resultStatus(TransactionResult.TransactionResultStatus.SUCCESS); callCallbackWithTransactionResultAndRelease(callback, builder.build()); } diff --git a/src/main/java/com/fitbit/bluetooth/fbgatt/tx/mocks/GattServerConnectMockTransaction.java b/src/main/java/com/fitbit/bluetooth/fbgatt/tx/mocks/GattServerConnectMockTransaction.java index 4ba79c94..de3d07a3 100644 --- a/src/main/java/com/fitbit/bluetooth/fbgatt/tx/mocks/GattServerConnectMockTransaction.java +++ b/src/main/java/com/fitbit/bluetooth/fbgatt/tx/mocks/GattServerConnectMockTransaction.java @@ -15,6 +15,7 @@ import com.fitbit.bluetooth.fbgatt.TransactionResult; import com.fitbit.bluetooth.fbgatt.tx.GattServerConnectTransaction; import com.fitbit.bluetooth.fbgatt.util.GattDisconnectReason; +import com.fitbit.bluetooth.fbgatt.util.GattStatus; import android.bluetooth.BluetoothGatt; import android.os.Handler; @@ -41,7 +42,7 @@ public void transaction(GattTransactionCallback callback) { getGattServer().setState(GattState.CONNECTING); mainHandler.postDelayed(() -> { TransactionResult.Builder builder = new TransactionResult.Builder().transactionName(getName()); - builder.responseStatus(GattDisconnectReason.getReasonForCode(shouldFail ? BluetoothGatt.GATT_FAILURE : BluetoothGatt.GATT_SUCCESS).ordinal()); + builder.responseStatus(shouldFail ? GattStatus.GATT_UNKNOWN : GattStatus.GATT_SUCCESS); if(shouldFail) { getGattServer().setState(GattState.FAILURE_CONNECTING); builder.resultStatus(TransactionResult.TransactionResultStatus.FAILURE) diff --git a/src/main/java/com/fitbit/bluetooth/fbgatt/tx/mocks/NotifyGattServerCharacteristicMockTransaction.java b/src/main/java/com/fitbit/bluetooth/fbgatt/tx/mocks/NotifyGattServerCharacteristicMockTransaction.java index a1a58b01..c6169f4b 100644 --- a/src/main/java/com/fitbit/bluetooth/fbgatt/tx/mocks/NotifyGattServerCharacteristicMockTransaction.java +++ b/src/main/java/com/fitbit/bluetooth/fbgatt/tx/mocks/NotifyGattServerCharacteristicMockTransaction.java @@ -55,7 +55,7 @@ protected void transaction(GattTransactionCallback callback) { // we want to apply this strategy to every phone, so we will provide an empty target android // device TransactionResult.Builder builder = new TransactionResult.Builder().transactionName(getName()); - builder.responseStatus(GattDisconnectReason.getReasonForCode(GattStatus.GATT_INTERNAL_ERROR.getCode()).ordinal()); + builder.responseStatus(GattStatus.GATT_INTERNAL_ERROR); if(this.characteristic != null) { builder.characteristicUuid(this.characteristic.getUuid()); builder.data(this.characteristic.getValue()); @@ -71,10 +71,10 @@ protected void transaction(GattTransactionCallback callback) { } callCallbackWithTransactionResultAndRelease(callback, builder.build()); } else { - onServerNotificationSent(null, GattStatus.GATT_INTERNAL_ERROR.ordinal()); + onServerNotificationSent(null, GattStatus.GATT_INTERNAL_ERROR); } } else { - onServerNotificationSent(null, BluetoothGatt.GATT_SUCCESS); + onServerNotificationSent(null, GattStatus.GATT_SUCCESS); } }, REASONABLE_AMOUNT_OF_TIME_FOR_NOTIFY); } diff --git a/src/main/java/com/fitbit/bluetooth/fbgatt/tx/mocks/RequestGattConnectionIntervalMockTransaction.java b/src/main/java/com/fitbit/bluetooth/fbgatt/tx/mocks/RequestGattConnectionIntervalMockTransaction.java index 77b8d625..f8afdd02 100644 --- a/src/main/java/com/fitbit/bluetooth/fbgatt/tx/mocks/RequestGattConnectionIntervalMockTransaction.java +++ b/src/main/java/com/fitbit/bluetooth/fbgatt/tx/mocks/RequestGattConnectionIntervalMockTransaction.java @@ -49,7 +49,7 @@ protected void transaction(GattTransactionCallback callback) { callCallbackWithTransactionResultAndRelease(callback, new TransactionResult.Builder(). transactionName(getName()). resultStatus(TransactionResult.TransactionResultStatus.FAILURE). - responseStatus(GattStatus.GATT_INSUF_RESOURCE.getCode()).build()); + responseStatus(GattStatus.GATT_INSUF_RESOURCE).build()); } else { callCallbackWithTransactionResultAndRelease(callback, new TransactionResult.Builder(). transactionName(getName()). diff --git a/src/test/java/com/fitbit/bluetooth/fbgatt/GattServerTests.java b/src/test/java/com/fitbit/bluetooth/fbgatt/GattServerTests.java index 2a5b4070..6622b6c7 100644 --- a/src/test/java/com/fitbit/bluetooth/fbgatt/GattServerTests.java +++ b/src/test/java/com/fitbit/bluetooth/fbgatt/GattServerTests.java @@ -14,6 +14,7 @@ import com.fitbit.bluetooth.fbgatt.tx.mocks.SendGattServerResponseMockTransaction; import com.fitbit.bluetooth.fbgatt.util.BluetoothManagerProvider; import com.fitbit.bluetooth.fbgatt.util.BluetoothUtils; +import com.fitbit.bluetooth.fbgatt.util.GattStatus; import com.fitbit.bluetooth.fbgatt.util.LooperWatchdog; import android.bluetooth.BluetoothAdapter; @@ -159,7 +160,7 @@ public void onServerExecuteWrite(BluetoothDevice device, int requestId, boolean } @Override - public void onServerNotificationSent(BluetoothDevice device, int status) { + public void onServerNotificationSent(BluetoothDevice device, GattStatus status) { }