Fix discoverability timeout issues. (a) implement timeout logic (b) persist 'never timeout' after reboot (c) code cleanup
Change-Id: I9313277c39c69f90d0b0556cf24d9c30a774a0a6
diff --git a/src/com/android/bluetooth/btservice/AdapterProperties.java b/src/com/android/bluetooth/btservice/AdapterProperties.java
old mode 100644
new mode 100755
index bd8ae4b..36de84f
--- a/src/com/android/bluetooth/btservice/AdapterProperties.java
+++ b/src/com/android/bluetooth/btservice/AdapterProperties.java
@@ -430,7 +430,15 @@
synchronized (mObject) {
if (getState() == BluetoothAdapter.STATE_TURNING_ON &&
mScanMode == BluetoothAdapter.SCAN_MODE_NONE) {
- setScanMode(AbstractionLayer.BT_SCAN_MODE_CONNECTABLE);
+ /* mDiscoverableTimeout is part of the
+ adapterPropertyChangedCallback received before
+ onBluetoothReady */
+ if (mDiscoverableTimeout != 0)
+ setScanMode(AbstractionLayer.BT_SCAN_MODE_CONNECTABLE);
+ else /* if timeout == never (0) at startup */
+ setScanMode(AbstractionLayer.BT_SCAN_MODE_CONNECTABLE_DISCOVERABLE);
+ /* though not always required, this keeps NV up-to date on first-boot after flash */
+ setDiscoverableTimeout(mDiscoverableTimeout);
}
}
}
diff --git a/src/com/android/bluetooth/btservice/RemoteDevices.java b/src/com/android/bluetooth/btservice/RemoteDevices.java
index 4d31751..1bafdf6 100755
--- a/src/com/android/bluetooth/btservice/RemoteDevices.java
+++ b/src/com/android/bluetooth/btservice/RemoteDevices.java
@@ -222,7 +222,7 @@
intent.putExtra(BluetoothDevice.EXTRA_NAME, device.mName);
intent.addFlags(Intent.FLAG_RECEIVER_REGISTERED_ONLY_BEFORE_BOOT);
mContext.sendBroadcast(intent, mAdapterService.BLUETOOTH_PERM);
- debugLog("Remote Device ame is: " + device.mName);
+ debugLog("Remote Device name is: " + device.mName);
break;
case AbstractionLayer.BT_PROPERTY_REMOTE_FRIENDLY_NAME:
// TODO(BT) is null device.mAlias a valid senario?