summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/java/android/bluetooth/BluetoothAdapter.java16
1 files changed, 14 insertions, 2 deletions
diff --git a/core/java/android/bluetooth/BluetoothAdapter.java b/core/java/android/bluetooth/BluetoothAdapter.java
index 229bcbffec39..63ebb63944bd 100644
--- a/core/java/android/bluetooth/BluetoothAdapter.java
+++ b/core/java/android/bluetooth/BluetoothAdapter.java
@@ -1989,7 +1989,13 @@ public final class BluetoothAdapter {
public void onAdvertiseStateChange(int advertiseState, int status) {
Log.d(TAG, "on advertise call back, state: " + advertiseState + " status: " + status);
if (advertiseState == STATE_ADVERTISE_STARTED) {
- mAdvertiseCallback.onAdvertiseStart(status);
+ if (status == ADVERTISE_CALLBACK_SUCCESS) {
+ mAdvertiseCallback.onAdvertiseStart(status);
+ } else {
+ // If status is unsuccessful and advertise state is started, it means stop
+ // advertising fails.
+ mAdvertiseCallback.onAdvertiseStop(status);
+ }
} else {
synchronized (this) {
if (status == ADVERTISE_CALLBACK_SUCCESS) {
@@ -2011,7 +2017,13 @@ public final class BluetoothAdapter {
}
}
}
- mAdvertiseCallback.onAdvertiseStop(status);
+ if (status == ADVERTISE_CALLBACK_SUCCESS) {
+ mAdvertiseCallback.onAdvertiseStop(status);
+ } else{
+ // If status is unsuccesful and advertise state is stopped, it means start
+ // advertising fails.
+ mAdvertiseCallback.onAdvertiseStart(status);
+ }
}
}
}