diff options
| author | Gurpreet Ghai <gghai@codeaurora.org> | 2016-04-18 19:05:28 +0530 |
|---|---|---|
| committer | Steve Kondik <steve@cyngn.com> | 2016-07-02 10:54:35 -0700 |
| commit | 396b4c2c2804e75e2eb556dade5c8904f219fbb9 (patch) | |
| tree | f31692c8eb493e455599d8d2eca1d63a27c5a710 | |
| parent | 34040d04c9c0d521b9109eb24d42f079989381dd (diff) | |
| download | frameworks_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.java | 4 | ||||
| -rw-r--r-- | services/core/java/com/android/server/BluetoothManagerService.java | 11 |
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 || |
