diff --git a/app/src/main/java/no/nordicsemi/android/nrftoolbox/profile/BleProfileActivity.java b/app/src/main/java/no/nordicsemi/android/nrftoolbox/profile/BleProfileActivity.java index 01775706..30def333 100644 --- a/app/src/main/java/no/nordicsemi/android/nrftoolbox/profile/BleProfileActivity.java +++ b/app/src/main/java/no/nordicsemi/android/nrftoolbox/profile/BleProfileActivity.java @@ -307,6 +307,11 @@ public abstract class BleProfileActivity extends AppCompatActivity implements Bl showToast(R.string.bonded); } + @Override + public void onBondingFailed(final BluetoothDevice device) { + showToast(R.string.bonding_failed); + } + @Override public boolean shouldEnableBatteryLevelNotifications(final BluetoothDevice device) { // Yes, we want battery level updates diff --git a/app/src/main/java/no/nordicsemi/android/nrftoolbox/profile/BleProfileExpandableListActivity.java b/app/src/main/java/no/nordicsemi/android/nrftoolbox/profile/BleProfileExpandableListActivity.java index f1bb65c2..47a0d2ee 100644 --- a/app/src/main/java/no/nordicsemi/android/nrftoolbox/profile/BleProfileExpandableListActivity.java +++ b/app/src/main/java/no/nordicsemi/android/nrftoolbox/profile/BleProfileExpandableListActivity.java @@ -307,6 +307,11 @@ public abstract class BleProfileExpandableListActivity extends ExpandableListAct showToast(R.string.bonded); } + @Override + public void onBondingFailed(final BluetoothDevice device) { + showToast(R.string.bonding_failed); + } + @Override public boolean shouldEnableBatteryLevelNotifications(final BluetoothDevice device) { // Yes, we want battery level updates diff --git a/app/src/main/java/no/nordicsemi/android/nrftoolbox/profile/BleProfileService.java b/app/src/main/java/no/nordicsemi/android/nrftoolbox/profile/BleProfileService.java index 9cf3b1df..196a3efd 100644 --- a/app/src/main/java/no/nordicsemi/android/nrftoolbox/profile/BleProfileService.java +++ b/app/src/main/java/no/nordicsemi/android/nrftoolbox/profile/BleProfileService.java @@ -268,7 +268,7 @@ public abstract class BleProfileService extends Service implements BleManagerCal // When we are connected, but the application is not open, we are not really interested in battery level notifications. But we will still be receiving other values, if enabled. if (!mActivityIsChangingConfiguration && mBleManager.isConnected()) - mBleManager.setBatteryNotifications(false); + mBleManager.disableBatteryLevelNotifications(); // We want the onRebind method be called if anything else binds to it again return true; @@ -518,6 +518,16 @@ public abstract class BleProfileService extends Service implements BleManagerCal LocalBroadcastManager.getInstance(this).sendBroadcast(broadcast); } + @Override + public void onBondingFailed(final BluetoothDevice device) { + showToast(no.nordicsemi.android.nrftoolbox.common.R.string.bonding_failed); + + final Intent broadcast = new Intent(BROADCAST_BOND_STATE); + broadcast.putExtra(EXTRA_DEVICE, mBluetoothDevice); + broadcast.putExtra(EXTRA_BOND_STATE, BluetoothDevice.BOND_NONE); + LocalBroadcastManager.getInstance(this).sendBroadcast(broadcast); + } + @Override public void onError(final BluetoothDevice device, final String message, final int errorCode) { final Intent broadcast = new Intent(BROADCAST_ERROR); diff --git a/app/src/main/java/no/nordicsemi/android/nrftoolbox/profile/BleProfileServiceReadyActivity.java b/app/src/main/java/no/nordicsemi/android/nrftoolbox/profile/BleProfileServiceReadyActivity.java index 83f9430b..890c03ac 100644 --- a/app/src/main/java/no/nordicsemi/android/nrftoolbox/profile/BleProfileServiceReadyActivity.java +++ b/app/src/main/java/no/nordicsemi/android/nrftoolbox/profile/BleProfileServiceReadyActivity.java @@ -548,6 +548,11 @@ public abstract class BleProfileServiceReadyActivity manager : mBleManagers.values()) { if (manager.isConnected()) - manager.setBatteryNotifications(false); + manager.disableBatteryLevelNotifications(); } } else { // The last activity has disconnected from the service and there are no devices to manage. The service may be stopped. @@ -535,6 +535,16 @@ public abstract class BleMulticonnectProfileService extends Service implements B LocalBroadcastManager.getInstance(this).sendBroadcast(broadcast); } + @Override + public void onBondingFailed(final BluetoothDevice device) { + showToast(no.nordicsemi.android.nrftoolbox.common.R.string.bonding_failed); + + final Intent broadcast = new Intent(BROADCAST_BOND_STATE); + broadcast.putExtra(EXTRA_DEVICE, device); + broadcast.putExtra(EXTRA_BOND_STATE, BluetoothDevice.BOND_NONE); + LocalBroadcastManager.getInstance(this).sendBroadcast(broadcast); + } + @Override public void onError(final BluetoothDevice device, final String message, final int errorCode) { final Intent broadcast = new Intent(BROADCAST_ERROR); diff --git a/app/src/main/java/no/nordicsemi/android/nrftoolbox/profile/multiconnect/BleMulticonnectProfileServiceReadyActivity.java b/app/src/main/java/no/nordicsemi/android/nrftoolbox/profile/multiconnect/BleMulticonnectProfileServiceReadyActivity.java index 7536104b..2d008e5e 100644 --- a/app/src/main/java/no/nordicsemi/android/nrftoolbox/profile/multiconnect/BleMulticonnectProfileServiceReadyActivity.java +++ b/app/src/main/java/no/nordicsemi/android/nrftoolbox/profile/multiconnect/BleMulticonnectProfileServiceReadyActivity.java @@ -437,6 +437,11 @@ public abstract class BleMulticonnectProfileServiceReadyActivity Bonding with the device… The device is now bonded. + Bonding failed. Background connections Shows a notification when a device is connected in background.