summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGurpreet Ghai <gghai@codeaurora.org>2016-04-18 19:05:28 +0530
committerSteve Kondik <steve@cyngn.com>2016-07-02 10:54:35 -0700
commit396b4c2c2804e75e2eb556dade5c8904f219fbb9 (patch)
treef31692c8eb493e455599d8d2eca1d63a27c5a710
parent34040d04c9c0d521b9109eb24d42f079989381dd (diff)
downloadframeworks_base-396b4c2c2804e75e2eb556dade5c8904f219fbb9.zip
frameworks_base-396b4c2c2804e75e2eb556dade5c8904f219fbb9.tar.gz
frameworks_base-396b4c2c2804e75e2eb556dade5c8904f219fbb9.tar.bz2
BT: Set persiste Bluetooth State during enable timeout case
Use case: When enable timeout occurs during S&S testing and Bluetooth state is moved from Turning On to Off. Steps: Changes related to enable timeout case, to test the changes, S&S testing can be done. Failure: Changes done to handle Bluetooth enable timeout case when Bluetooth state changes from Turning On to Off. Root cause: Setting Bluetooth Persist state to handle the enable timeout case so that Bluetooth doesnot self enable after enable timeout case is handled. Fix: Setting the Bluetooth Persist State to Off when enable timeout occurs. Change-Id: I17b3b05020eb7469666e6d8c88c86df7764b4024 CRs-Fixed: 1006444
-rw-r--r--core/java/android/bluetooth/BluetoothAdapter.java4
-rw-r--r--services/core/java/com/android/server/BluetoothManagerService.java11
2 files changed, 12 insertions, 3 deletions
diff --git a/core/java/android/bluetooth/BluetoothAdapter.java b/core/java/android/bluetooth/BluetoothAdapter.java
index f924bc1..71183d9 100644
--- a/core/java/android/bluetooth/BluetoothAdapter.java
+++ b/core/java/android/bluetooth/BluetoothAdapter.java
@@ -2067,13 +2067,14 @@ public final class BluetoothAdapter {
}
public void onBluetoothServiceDown() {
- if (VDBG) Log.d(TAG, "onBluetoothServiceDown: " + mService);
+ Log.d(TAG, "onBluetoothServiceDown: " + mService);
synchronized (mManagerCallback) {
mService = null;
if (mLeScanClients != null) mLeScanClients.clear();
if (sBluetoothLeAdvertiser != null) sBluetoothLeAdvertiser.cleanup();
if (sBluetoothLeScanner != null) sBluetoothLeScanner.cleanup();
synchronized (mProxyServiceStateCallbacks) {
+ Log.d(TAG, "onBluetoothServiceDown: Sending callbacks to " + mProxyServiceStateCallbacks.size() + " clients");
for (IBluetoothManagerCallback cb : mProxyServiceStateCallbacks ){
try {
if (cb != null) {
@@ -2085,6 +2086,7 @@ public final class BluetoothAdapter {
}
}
}
+ Log.d(TAG, "onBluetoothServiceDown: Finished sending callbacks to registered clients");
}
public void onBrEdrDown() {
diff --git a/services/core/java/com/android/server/BluetoothManagerService.java b/services/core/java/com/android/server/BluetoothManagerService.java
index 45cfdb4..dbdffef 100644
--- a/services/core/java/com/android/server/BluetoothManagerService.java
+++ b/services/core/java/com/android/server/BluetoothManagerService.java
@@ -763,6 +763,7 @@ class BluetoothManagerService extends IBluetoothManager.Stub {
} catch (RemoteException e) {
Log.e(TAG, "Unable to call onBluetoothServiceUp() on callback #" + i, e);
}
+ Log.d(TAG, "Broadcasted onBluetoothServiceUp() to " + mCallbacks.getBroadcastItem(i));
}
} finally {
mCallbacks.finishBroadcast();
@@ -784,6 +785,7 @@ class BluetoothManagerService extends IBluetoothManager.Stub {
} catch (RemoteException e) {
Log.e(TAG, "Unable to call onBluetoothServiceDown() on callback #" + i, e);
}
+ Log.d(TAG, "Broadcasted onBluetoothServiceDown() to " + mCallbacks.getBroadcastItem(i));
}
} finally {
mCallbacks.finishBroadcast();
@@ -1145,8 +1147,13 @@ class BluetoothManagerService extends IBluetoothManager.Stub {
recoverBluetoothServiceFromError();
}
if ((prevState == BluetoothAdapter.STATE_TURNING_ON) &&
- (newState == BluetoothAdapter.STATE_BLE_ON) &&
- (mBluetooth != null) && mEnable) {
+ (newState == BluetoothAdapter.STATE_OFF) &&
+ (mBluetooth != null) && mEnable) {
+ persistBluetoothSetting(BLUETOOTH_OFF);
+ }
+ if ((prevState == BluetoothAdapter.STATE_TURNING_ON) &&
+ (newState == BluetoothAdapter.STATE_BLE_ON) &&
+ (mBluetooth != null) && mEnable) {
recoverBluetoothServiceFromError();
}
if (newState == BluetoothAdapter.STATE_ON ||